napi_get_value_string_X allow various kinds of memory corruption
该报告还没有中文解读。
原文摘录
摘自原文(3112 字符中的一小部分)
`napi_get_value_string_latin1`, `napi_get_value_string_utf8`, `napi_get_value_string_utf16` are vulnerable to buffer overflows, partially due to an integer underflow.
原文中的代码
Napi::Value Test(const Napi::CallbackInfo& info) {
char buf[1];
// This should be a valid call, e.g., due to a malloc(0).
napi_get_value_string_latin1(info.Env(), info[0], buf, 0, nullptr);
return info.Env().Undefined();
}默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Node.js 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @tniessen · 版权归作者与 Node.js 所有