Decide whether path checks should follow symlinks
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, node.js
Direzione di ricerca
Read pathSecurity.js first, then compare removeInsideProject in themeUpdateService.js with uploadSourcePath in exportController.js. Decide whether these paths should reject symlinks or whether the project storage assumption should be documented. Done means recording that decision and implementing it with a test, or documenting the assumption.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Refuse shortcut folders inside a project, or document that they're not supported.
The containment checks that keep file-sourced paths inside their folder compare resolved path strings and do not follow symlinks: the theme-update recovery plan (themeUpdateService.js removeInsideProject) and export's media copy (exportController.js uploadSourcePath). A symlink already inside uploads/images that points outside would still be copied on export, and a plan entry through a symlinked folder would still be removed. Neither import nor theme upload can create one (utils/zipSafety.js writes every entry as a plain file), so this needs a local actor or an embedding app whose storage preserves symlinks. Options: lstat/realpath these paths and refuse symlinks, or document the assumption that project folders hold no symlinks.
Done when: The decision is made and either implemented with a test or documented.
Start: themeUpdateService.js, exportController.js, pathSecurity.js. Source: 2026-10-06 reviews of the BACKUP-TRUST fixes.
- Lingua principale
- JavaScript
- Stelle
- 162
- Fork
- 6
- Merge medio
- 12h 55m
- PR unite (30g)
- 2
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di tsiger/widgetizer
-
question
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
tsiger/widgetizer#194 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
tsiger/widgetizer#181 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
tsiger/widgetizer#175 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
tsiger/widgetizer#174 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
tsiger/widgetizer#173 ·
Tutte le issue di tsiger/widgetizer
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
b310-digital/teammapper#1515 ·
I maintainer di solito rispondono entro 1 giorno
-
L: javascript
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
dependabot/dependabot-core#16744 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
S: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Dome-Works/DOME#129 ·
I maintainer di solito rispondono entro 1 giorno