security: read tools and the code index follow hard links to files outside the project
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- security
Línea de trabajo
Start with the listed entry points: native/sandbox-helper/src/file_ops/windows.rs:323, src/main/tools/files.ts:166, symbols.ts:70, and code_index.ts:311; compare the read paths with write_file, which already refuses hard-linked targets. Reproduce the confirmed Windows case where a project hard link points outside the project, then check that reads and indexing no longer expose the outside content. The issue does not name tests, so inspect nearby coverage for these paths.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found in the Oct 11 audit (at c5f5641).
Where: read_file via the helper's regular(file, false) (native/sandbox-helper/src/file_ops/windows.rs:323); grep (src/main/tools/files.ts:166) and find_definition/find_references (symbols.ts:70), which use plain readFile; the code index (code_index.ts:311).
Evidence (confirmed on Windows): with Proj/hl.txt hard-linked to outside/s.txt, grep, find_references and read_file returned the outside content. write_file refuses it ("hard-linked target").
Impact: content outside the project can be read and, through indexing, sent to the embedding service. Git cannot carry hard links, so an attacker needs another way to create one.
Fix: apply the nlink == 1 check to reads too, or at least to indexing.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 2
- Merge medio
- 8 h 28 min
- PR fusionados (30 d)
- 26
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PierrunoYT/patch
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
PierrunoYT/patch#316 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PierrunoYT/patch#315 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
PierrunoYT/patch#313 ·
Los mantenedores suelen responder en 1 día
-
enhancement priority: low severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PierrunoYT/patch#305 ·
Los mantenedores suelen responder en 1 día
-
security: isAppPageUrl checks devRendererUrl with startsWith instead of comparing parsed URL originsAbiertopriority: low security severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PierrunoYT/patch#300 ·
Los mantenedores suelen responder en 1 día
Todos los issues de PierrunoYT/patch
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Renaming a projectAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
equinor/prisma-decision-web#927 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bigbluebutton/bigbluebutton#26166 ·
Los mantenedores suelen responder en 1 día