CVE-2026-8836 — lwIP SNMPv3 基于栈的缓冲区溢出 PoC(CVSS 9.8)
针对 CVE-2026-8836 的概念验证漏洞利用,该漏洞是 lwIP 的 SNMPv3 USM 处理器中存在的一个严重栈缓冲区溢出。
src/apps/snmp/snmp_msg.c 中的 snmp_parse_inbound_frame()snmp_asn1_dec_raw() 中边界检查被注释掉,并且缓冲区大小参数错误msg_authentication_parameters[12](SNMP_V3_MAX_AUTH_PARAM_LENGTH = 12)LWIP_SNMP_V3 的 lwIP <= 2.2.1https://www.hunt-benito.com/blog/lwip-snmpv3-stack-overflow-cve-2026-8836-critical-embedded-rce/
python exploit.py --target 192.168.1.100 --port 161 --overflow-size 256
python exploit.py --target 192.168.1.100 --overflow-size 4096 --payload-file shellcode.bin
python exploit.py --target 192.168.1.100 --count 10 --delay 0.5
该漏洞利用程序构造一个有效的 SNMPv3 消息,在 USM 安全参数中放入一个过大的 msgAuthenticationParameters OCTET STRING。TLV 长度被设置为大于 12 字节(实际缓冲区大小)的值,从而绕过内部边界检查,因为存在漏洞的代码将 tlv.value_len 同时用作读取长度和缓冲区最大长度。
本工具仅用于授权的安全研究和教育目的。未经授权对你不拥有或未获明确许可测试的系统使用本工具属于违法行为。作者不承担任何责任,也不对本工具的任何误用或造成的损害负责。