[NEW VULNERABILITY] decompress-zip: GHSA-73v8-v6g4-vrpm Fix Bypass + 4 Additional Vulnerabilities
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 30/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- javascript
- 领域
- security
调研方向
The vulnerability is in lib/decompress-zip.js line 94, where indexOf() is used for path validation. Review the decompress-zip package source, understand the zip extraction flow, and test the bypass with a malicious zip file. The fix must properly resolve and contain paths, not just do string prefix matching. Check for similar issues in the codebase and ensure the fix addresses all listed CVEs.
由索引模型根据 Issue 内容生成。
描述
Package Information
- Ecosystem: npm
- Package: decompress-zip
- Affected versions: <= 0.3.3
- CWE: CWE-22, CWE-770, CWE-409, CWE-345, CWE-367
Summary
The security fix in v0.3.2 for GHSA-73v8-v6g4-vrpm is INCOMPLETE and can be bypassed. Additionally, 4 new vulnerabilities were discovered.
| # | Vulnerability | CVSS 3.1 | CWE |
|---|---|---|---|
| 1 | Path Traversal Fix Bypass | 9.1 CRITICAL | CWE-22 |
| 2 | Memory Exhaustion | 7.5 HIGH | CWE-770 |
| 3 | Zip Bomb | 7.5 HIGH | CWE-409 |
| 4 | Missing Signature Validation | 5.3 MEDIUM | CWE-345 |
| 5 | TOCTOU Race Condition | 3.1 LOW | CWE-367 |
Critical Finding: indexOf() Bypass
File: lib/decompress-zip.js:94
if (destination.indexOf(options.path) !== 0) {
throw new Error('You cannot extract a file outside of the target path');
}
Bypass: ../extract_pwned/evil.txt passes the check because indexOf() does STRING prefix matching, not PATH containment.
PoC
Target: /project/extract
Malicious entry: ../extract_pwned/evil.txt
Result: File written to /project/extract_pwned/evil.txt (OUTSIDE target)
Reporter
Yahya Ganbarli
- 主要语言
- 没有语言数据
- 星标
- 2.5k
- 派生
- 772
- 平均合并
- 3 天 15 小时
- 30 天内合并 PR
- 46
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/advisory-database 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
github/advisory-database#9255 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
github/advisory-database#9164 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 72/100
github/advisory-database#8994 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
github/advisory-database#8898 · 4 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 72/100
github/advisory-database#8841 ·
查看 github/advisory-database 的全部 Issue
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 90/100
ElementsProject/cln-application#167 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 70/100
confident-ai/deepteam#289 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 70/100
VirusTotal/yara-x#780 ·