CVE-2026-8836lwIP是一款广泛使用的开源TCP/IP协议栈,适用于嵌入式系统。CVE-2026-8836是存在于lwIP 2.2.1及之前版本中的一个严重安全漏洞。该漏洞位于SNMPv3 USM处理器的`snmp_parse_inbound_frame`函数中。由于在处理`msgAuthenticationParameters`参数时缺乏严格的长度验证,导致发生基于栈的缓冲区溢出。攻击者无需身份验证即可通过网络远程发起攻击,成功利用可能导致任意代码执行或拒绝服务,严重影响设备的机密性、完整性和可用性。
该漏洞源于lwIP在解析SNMPv3入站帧时的逻辑缺陷。具体受影响的代码位于`src/apps/snmp/snmp_msg.c`文件中的`snmp_parse_inbound_frame`函数。在处理SNMPv3消息时,该函数直接信任并复制用户可控的`msgAuthenticationParameters`参数到栈上的固定大小缓冲区中,而未检查输入数据的长度是否超过缓冲区容量。由于SNMP协议通常使用UDP 161端口,且攻击复杂度低(AC:L),无需特权(PR:N)和用户交互(UI:N),远程攻击者可以构造特制的恶意SNMP数据包发送给目标设备。当设备解析该数据包时,超长的认证参数将覆盖栈上的返回地址,从而劫持控制流,实现远程代码执行或导致设备崩溃。