When an SNMP packets contains an object with a length > 4 bytes, the dissector returns the following error:
Dissector bug, protocol SNMP: proto.c:1047: failed assertion "DISSECTOR_ASSERT_NOT_REACHED"
Unfortunately it is not very difficult to have values with a length greater than 4 bytes.
As example, the following requests would generate the error described before --when the relevant SMI file is loaded--:
snmpset -v2c -d -c public 10.215.98.1 .1.3.6.1.4.1.111.1.1.0 u 4294967295
snmpset -v2c -d -c public 10.215.98.1 .1.3.6.1.4.1.111.1.1.0 u 4026531840
A SMI file could be as follow (this file must be loaded in the "SMI (MIB and PIB) modules" to see the problem or the dissector would return "Missing MIB"):
MY-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, Unsigned32, enterprises
FROM SNMPv2-SMI;
myModule MODULE-IDENTITY
LAST-UPDATED "201007120000Z"
ORGANIZATION " "
CONTACT-INFO
" "
DESCRIPTION
" "
::= { enterprises my(111) 1 }
myObject OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"= "
::= { myModule 1 }
END
The problem is visible (at least) with the following Window releases: 1.2.1 and 1.2.9.
Frame 2 (91 bytes on wire, 91 bytes captured)
Ethernet II, Src: Motorola_24:01:9a (00:16:26:24:01:9a), Dst: Motorola_24:01:9a (00:16:26:24:01:9a)
Internet Protocol, Src: 192.168.236.162 (192.168.236.162), Dst: 10.215.98.1 (10.215.98.1)
User Datagram Protocol, Src Port: 53719 (53719), Dst Port: snmp (161)
Simple Network Management Protocol
version: v2c (1)
community: public
data: set-request (3)
set-request
request-id: 1210029970
error-status: noError (0)
error-index: 0
variable-bindings: 1 item
VarBind
Object Name: 1.3.6.1.4.1.111.1.1.0 (MY-MIB::myObject.0)
Scalar Instance Index: 0
[Dissector bug, protocol SNMP: proto.c:1047: failed assertion "DISSECTOR_ASSERT_NOT_REACHED"]
[Expert Info (Error/Malformed): proto.c:1047: failed assertion "DISSECTOR_ASSERT_NOT_REACHED"]
[Message: proto.c:1047: failed assertion "DISSECTOR_ASSERT_NOT_REACHED"]
[Severity level: Error]
[Group: Malformed]
Attachment:
test.pcap
Description: Binary data