CPU-based Denial of Service in translation-finder via O(N²) per-result wildcard mask matching
该报告还没有中文解读。
原文摘录
摘自原文(8500 字符中的一小部分)
- https://github.com/WeblateOrg/translation-finder - Affected version: **3.6.0** — commit `76186ba54f1e2c67176aa4c379c2f1d5fc406039` (HEAD at audit, 2026-10-05) - Tested on: Python 3.13.9, Linux x64, charset-normalizer 3.5.2
原文中的代码
def mask_matches(self, mask: str) -> Generator[PurePath]:
if "*" not in mask:
match = self.files_by_path.get(mask) # O(1) — not affected
...
else:
...
candidates = self.files_by_suffix.get(suffix, []) # full bucket
...
for name, path in …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Weblate 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @robin-sabhaya · 版权归作者与 Weblate 所有