POJIA破甲
地图 / Path traversal via archive.extract - CVE 2021-3281 incomplete patch

Path traversal via archive.extract - CVE 2021-3281 incomplete patch

路径遍历 / 路径遍历 / #3328367

厂商
Django
严重程度
低危 · CVSS 3.7
赏金
—
弱点
路径遍历
研究员
@stackered
披露日期
2025-11-21
资产
—
CVE
CVE-2021-3281

该报告还没有中文解读。

原文摘录

摘自原文(2076 字符中的一小部分)
While performing a code review on previous vulnerability patches, I found that the fix for the CVE-2021-3281 is incomplete. Just as a reminder, in order to mitigate this vulnerability, the following guard logic has been added in the `extract` function of both `ZipArchive` and `TarArchive` classes …
原文中的代码
# django/django/utils/archive.py
def target_filename(self, to_path, name):
    target_path = os.path.abspath(to_path)
    filename = os.path.abspath(os.path.join(target_path, name))
    if not filename.startswith(target_path):
        raise SuspiciousOperation("Archive contains invalid path: '%s'" …

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Django 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @stackered · 版权归作者与 Django 所有

同类报告

Arbitrary file read via the UploadsRewriter when moving and issueGitLab · 2020-04-27 · $20,000Arbitrary file read via the bulk imports UploadsPipelineGitLab · 2022-03-21 · $29,000Misuse of an authentication cookie combined with a path traversal on app.starbucks.com permitted access to restricted dataStarbucks · 2020-06-16Arbitrary file read during project importGitLab · 2021-05-24 · $16,000Burp Suite Professional: browser-powered crawl can write attacker-controlled files through file input handlingPortSwigger Web Security · 2026-06-14 · $5,000Path traversal in filename in LINE Mac clientLY Corporation · 2020-07-31