File net-snmp-5.7.3-fix-out-of-bounds-trapOid-access.patch of Package net-snmp.42187

diff -Nurp net-snmp-5.7.3-orig/apps/snmptrapd_handlers.c net-snmp-5.7.3/apps/snmptrapd_handlers.c
--- net-snmp-5.7.3-orig/apps/snmptrapd_handlers.c	2026-01-09 11:44:32.879152850 +0000
+++ net-snmp-5.7.3/apps/snmptrapd_handlers.c	2026-01-09 11:46:22.955152850 +0000
@@ -1046,6 +1046,12 @@ snmp_input(int op, netsnmp_session *sess
 	     */
             if (pdu->trap_type == SNMP_TRAP_ENTERPRISESPECIFIC) {
                 trapOidLen = pdu->enterprise_length;
+                /*
+                 * Drop packets that would trigger an out-of-bounds trapOid[]
+                 * access.
+                 */
+                if (trapOidLen < 1 || trapOidLen > OID_LENGTH(trapOid) - 2)
+                    return 1;
                 memcpy(trapOid, pdu->enterprise, sizeof(oid) * trapOidLen);
                 if (trapOid[trapOidLen - 1] != 0) {
                     trapOid[trapOidLen++] = 0;
openSUSE Build Service is sponsored by