2020年6月安全更新

2020年6月安全更新

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

Node.js发布了安全更新,修复了会话事件顺序、HTTP/2设置帧处理和N-API相关的漏洞。所有受支持版本(10.x、12.x、14.x)均存在安全风险,建议用户关注更新和安全公告。

🔎

延伸解读

会话事件顺序漏洞的影响范围

该漏洞导致'session'事件可能在'secureConnect'事件之前触发,此时连接可能尚未授权。如果会话被保存,攻击者可能利用会话票据建立已授权的连接。https代理会缓存会话,因此受此漏洞影响。此漏洞影响Node.js 12.x和14.x,不影响10.x。

HTTP/2设置帧拒绝服务风险

接收过大的HTTP/2 SETTINGS帧会消耗100% CPU来处理所有设置,阻塞其他活动。默认情况下,HTTP/2会话帧限制为32个设置,可通过maxSettings选项配置。此漏洞影响Node.js 10.x、12.x和14.x。

N-API字符串函数缓冲区溢出

使用非NULL的buf且bufsize为0调用napi_get_value_string_latin1()、napi_get_value_string_utf8()或napi_get_value_string_utf16()时,整个字符串值会被写入buf,可能超出缓冲区长度。目前尚未报告利用案例,但建议开发者注意。此漏洞影响node-addon-api 1.x和2.x,当原生插件使用不支持内部N-API的Node.js版本构建时。

ICU漏洞及修复策略

在International Components for Unicode (ICU) for C/C++ 66.1及之前版本中发现一个整数溢出漏洞,导致UnicodeString::doAppend()函数中出现基于堆的缓冲区溢出。修复已应用于10.x版本,尽管在10.x中尚无已知触发方式。12.x和14.x不受影响,因为它们不包含受影响的ICU版本。

❓

Q&A

Node.js的安全更新修复了哪些漏洞?

Node.js的安全更新修复了会话事件顺序、HTTP/2设置帧处理和N-API相关的漏洞。

会话事件的触发顺序有什么变化?

会话事件现在仅在安全连接事件之后触发,并且仅适用于已授权的连接。

接收过大的HTTP/2设置帧会导致什么问题?

接收过大的HTTP/2设置帧可能导致CPU使用率达到100%,阻塞其他活动。

哪些Node.js版本受到安全风险影响?

所有受支持的Node.js版本(10.x、12.x、14.x)均存在安全风险。

napi_get_value_string_*()函数的漏洞是什么?

在特定条件下,调用napi_get_value_string_*()函数可能导致缓冲区溢出。

如何获取Node.js的安全公告和更新信息?

用户可以订阅nodejs-sec邮件列表以获取Node.js的安全公告和相关更新信息。

🏷️

标签

➡️

继续阅读