net-snmp (SL5)

Synopsis: Moderate: net-snmp security and bug fix update
Issue Date: 2013-01-08
CVE Numbers: CVE-2012-2141

An out-of-bounds buffer read flaw was found in the net-snmp agent. A remote
attacker with read privileges to a Management Information Base (MIB) subtree
handled by the “extend” directive (in “/etc/snmp/snmpd.conf”) could use this
flaw to crash snmpd via a crafted SNMP GET request. (CVE-2012-2141)

Bug fixes:

* Devices that used certain file systems were not reported in the “HOST-
RESOURCES-MIB::hrStorageTable” table. As a result, the snmpd daemon did not
recognize devices using tmpfs, ReiserFS, and Oracle Cluster File System (OCFS2)
file systems. This update recognizes these devices and reports them in the
“HOST-RESOURCES-MIB::hrStorageTable” table.

* The snmptrapd (8) man page did not correctly describe how to load multiple
configuration files using the “-c” option. This update describes correctly that
multiple configuration files must be separated by a comma.

* Integers truncated from 64 to 32-bit were not correctly evaluated. As a
consequence, the snmpd daemon could enter an endless loop when encoding the
truncated integers to network format. This update modifies the underlying code
so that snmpd correctly checks truncated 64-bit integers. Now, snmpd avoids an
endless loop.

* snmpd did not correctly check for interrupted system calls when enumerating
existing IPv6 network prefixes during startup. As a consequence, snmpd could
prematurely exit when receiving a signal during this enumeration. This update
checks the network prefix enumeration code for interrupted system calls. Now,
snmpd no longer terminates when a signal is received.

* snmpd used the wrong length of COUNTER64 values in the AgentX protocol. As a
consequence, snmpd could not decode two consecutive COUNTER64 values in one
AgentX packet. This update uses the correct COUNTER64 size and can process two
or mode COUNTER64 values in AgentX communication.

* snmpd ignored the “-e” parameter of the “trapsess” option in the snmpd
configuration file. As a result, outgoing traps were incorrectly sent with the
default EngineID of snmpd when configuring “trapsess” with an explicit
EngineID. This update modifies the underlying code to send outgoing traps using
the EngineID as specified in the “trapsess -e” parameter in the configuration

* snmpd did not correctly encode negative Request-IDs in outgoing requests, for
example during trap operations. As a consequence, a 32-bit value could be
encoded in 5 bytes instead of 4, and the outgoing requests were refused by
certain implementations of the SNMP protocol as invalid. With this update, a
Request-ID can no longer become negative and is always encoded in 4 bytes.

* snmpd ignored the port number of the “clientaddr” option when specifying the
source address of outgoing SNMP requests. As a consequence, the system assigned
a random address. This update allows to specify both the port number and the
source IP address in the “clientaddr” option. Now, administrators can increase
security with firewall rules and Security-Enhanced Linux (SELinux) policies by
configuring a specific source port of outgoing traps and other requests.

* snmpd did not correctly process responses to internal queries when
initializing monitoring enabled by the “monitor” option in the
“/etc/snmp/snmpd.conf” configuration file. As a consequence, snmpd was not
fully initialized and the error message “failed to run mteTrigger query”
appeared in the system log 30 seconds after the snmpd startup. This update
explicitly checks for responses to internal monitoring queries.

After installing the update, the snmpd and snmptrapd daemons will be restarted


– Scientific Linux Development Team