关键漏洞信息 漏洞编号 NN-2025-0103: ADNS crafted response overflow 影响组件和版本 受影响组件: EcoStruxure Automation Expert 受影响版本: 4.4 漏洞类型 CWE-121: Stack-based Buffer Overflow CVSS评分 Proposed CVSS v3.1 Base Score: 7.5 Proposed CVSS v3.1 Vector: CVSS:3.0/AV:A/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 漏洞描述 Libwebsockets是一个提供客户端和服务器实现的C库,支持多种协议(如HTTP、WebSockets、MQTT等)。Nozomi Networks Lab在libwebsockets的最新软件版本中发现了CWE-121:基于堆栈的缓冲区溢出漏洞,具体在async-dns组件中。 该漏洞允许攻击者检查受害者发出的DNS请求,并伪造一个DNS响应包,导致堆栈溢出,可能引发任意代码执行(取决于平台和编译器选项)。 问题存在于 函数中(位于 ),该函数迭代解析标签但未正确检查写入目标缓冲区的字节数。 漏洞触发条件 要触发此漏洞,攻击者必须能够嗅探DNS请求包并发送具有匹配标识符的响应,否则实现会正确忽略响应。 测试方法 我们提供了测试用的harness,可以复制到子目录(例如minimal-examples-lowlevel/api-tests/)并构建它。使用以下命令进行测试: 然后运行: 建议跟踪当前写入目标缓冲区的字节数,可以通过保存原始目标指针、每次memcpy时递减d1或使用辅助变量来实现。