Node.js 的 http2 模块中的漏洞

服务器端 JavaScript 平台 Node.js 的开发人员已发布修正版本 12.22.4、14.17.4 和 16.6.0,部分修复了 http2021 模块(HTTP/22930 客户端)中的漏洞 (CVE-2-2.0) ,它允许您在访问攻击者控制的主机时启动进程崩溃或潜在地组织系统中代码的执行。

该问题是由于在接收到正在执行阻止写入的密集读取操作的线程的 RST_STREAM(线程重置)帧后关闭连接时访问已释放的内存而引起的。 如果在没有指定错误代码的情况下接收到 RST_STREAM 帧,则 http2 模块会另外调用已接收数据的清理过程,从中再次为已关闭的流调用闭包处理程序,这会导致数据结构的双重释放。

补丁讨论指出,该问题尚未完全解决,并且在稍作修改的情况下,继续出现在已发布的更新中。 分析表明,该修复仅涵盖一种特殊情况 - 当线程处于读取模式时,但没有考虑其他线程状态(读取和暂停、暂停和某些类型的写入)。

来源: opennet.ru

添加评论