| 제목 | Kilo-Org kilocode 7.0.47 Path Traversal (CWE-22) |
|---|
| 설명 | # Technical Details
An Unrestricted Path Traversal vulnerability exists in the `detailMeta` method in `packages/opencode/src/kilocode/review/worktree-diff.ts` of kilocode.
The application fails to restrict user-controlled strings when reconstructing file boundaries handled within the `/experimental/worktree/diff/file` API endpoint. Attackers can inject directory traversal syntax (`../`) via the `file` query parameter.
# Vulnerable Code
File: packages/opencode/src/kilocode/review/worktree-diff.ts
Method: detailMeta
Why: The function uses `path.join(dir, file)` which interpolates traversal sequences, then allows `Bun.file()` to process it without normalizing or validating that the target is still within the root workspace directory.
# Reproduction
1. Start the Kilocode instance.
2. Send an authenticated or accessible request to the `http://localhost:4096/experimental/worktree/diff/file` endpoint.
3. Supply a crafted `file` parameter with a traversal structure, e.g., `?file=../../../../../../../../etc/passwd` and a valid base ref.
# Impact
- Arbitrary Local File Read: Attackers can gain unrestricted read access to the filesystem, exposing passwords (`/etc/shadow`), private SSH keys, and system configuration metrics.
- Complete system compromise and expanded lateral damage. |
|---|
| 원천 | ⚠️ https://gist.github.com/YLChen-007/1770f4530b0c933dc61f15b02aa0629d |
|---|
| 사용자 | Eric-d (UID 96861) |
|---|
| 제출 | 2026. 04. 23. PM 02:40 (1 월 ago) |
|---|
| 모더레이션 | 2026. 05. 17. AM 10:55 (24 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 364390 [Kilo-Org kilocode 까지 7.0.47 File Diff API Endpoint worktree-diff.ts Bun.file 파일 디렉토리 순회] |
|---|
| 포인트들 | 20 |
|---|