mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-09 17:59:26 +00:00
net-snmp-5.7.2: fix CVE-2014-2285
The perl_trapd_handler function in perl/TrapReceiver/TrapReceiver.xs in Net-SNMP 5.7.3.pre3 and earlier, when using certain Perl versions, allows remote attackers to cause a denial of service (snmptrapd crash) via an empty community string in an SNMP trap, which triggers a NULL pointer dereference within the newSVpv function in Perl. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-2285 Signed-off-by: yzhu1 <yanjun.zhu@windriver.com> Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Joe MacDonald <joe@deserted.net>
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
|||||||
|
--- a/perl/TrapReceiver/TrapReceiver.xs
|
||||||
|
+++ b/perl/TrapReceiver/TrapReceiver.xs
|
||||||
|
@@ -81,18 +81,18 @@ int perl_trapd_handler( netsnmp_pdu
|
||||||
|
STOREPDUi("securitymodel", pdu->securityModel);
|
||||||
|
STOREPDUi("securitylevel", pdu->securityLevel);
|
||||||
|
STOREPDU("contextName",
|
||||||
|
- newSVpv(pdu->contextName, pdu->contextNameLen));
|
||||||
|
+ newSVpv(pdu->contextName ? pdu->contextName : "", pdu->contextNameLen));
|
||||||
|
STOREPDU("contextEngineID",
|
||||||
|
- newSVpv((char *) pdu->contextEngineID,
|
||||||
|
+ newSVpv(pdu->contextEngineID ? (char *) pdu->contextEngineID : "",
|
||||||
|
pdu->contextEngineIDLen));
|
||||||
|
STOREPDU("securityEngineID",
|
||||||
|
- newSVpv((char *) pdu->securityEngineID,
|
||||||
|
+ newSVpv(pdu->securityEngineID ? (char *) pdu->securityEngineID : "",
|
||||||
|
pdu->securityEngineIDLen));
|
||||||
|
STOREPDU("securityName",
|
||||||
|
- newSVpv((char *) pdu->securityName, pdu->securityNameLen));
|
||||||
|
+ newSVpv(pdu->securityName ? (char *) pdu->securityName : "", pdu->securityNameLen));
|
||||||
|
} else {
|
||||||
|
STOREPDU("community",
|
||||||
|
- newSVpv((char *) pdu->community, pdu->community_len));
|
||||||
|
+ newSVpv(pdu->community ? (char *) pdu->community : "", pdu->community_len));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (transport && transport->f_fmtaddr) {
|
||||||
@@ -17,6 +17,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
|
|||||||
file://snmptrapd.service \
|
file://snmptrapd.service \
|
||||||
file://ifmib.patch \
|
file://ifmib.patch \
|
||||||
file://net-snmp-5.7.2-fix-CVE-2014-2284.patch \
|
file://net-snmp-5.7.2-fix-CVE-2014-2284.patch \
|
||||||
|
file://net-snmp-5.7.2-fix-CVE-2014-2285.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "5bddd02e2f82b62daa79f82717737a14"
|
SRC_URI[md5sum] = "5bddd02e2f82b62daa79f82717737a14"
|
||||||
|
|||||||
Reference in New Issue
Block a user