summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHideki Yamane <henrich@debian.org>2014-03-30 20:20:13 +0900
committerHideki Yamane <henrich@debian.org>2014-03-30 20:20:13 +0900
commitde4912f27c82e9aa37dcfa4ff8daa507e52b77a5 (patch)
tree2aeb3eb8c89bda9e47577183cff9e863b1a41b49
parent5046c4a92f5924c97399c70ba33a5a0d1441a4bf (diff)
downloadpkg-net-snmp-de4912f27c82e9aa37dcfa4ff8daa507e52b77a5.tar.gz
fix CVE-2014-2285
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/TrapReceiver.patch31
-rw-r--r--debian/patches/series1
3 files changed, 33 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 09fc25f..ac7f27f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ net-snmp (5.7.2.1~dfsg-1) experimental; urgency=medium
- add add_rocommunity6.patch to fix snmpwalk using ipv6 (Closes: #717179)
- add fix_manpage-has-errors-from-man.patch
- add agentx-crash.patch, taken from Fedora package.
+ - add TrapReceiver.patch to fix CVE-2014-2285
* debian/control
- set Standards-Version: 3.9.5
- add "Build-Depends: libpci-dev" to enable libpci function that was
diff --git a/debian/patches/TrapReceiver.patch b/debian/patches/TrapReceiver.patch
new file mode 100644
index 0000000..0973f83
--- /dev/null
+++ b/debian/patches/TrapReceiver.patch
@@ -0,0 +1,31 @@
+Description: Fixes Perl Trap Handler Segfault with old Perl (e.g. Perl 5.8.8) (CVE-2014-2285)
+Origin: upstream
+Bug: http://sourceforge.net/p/net-snmp/code/ci/76e8d6d100320629d8a23be4b0128619600c919d/
+Last-Update: 2014-03-30
+
+--- net-snmp-5.7.2.1~dfsg.orig/perl/TrapReceiver/TrapReceiver.xs
++++ net-snmp-5.7.2.1~dfsg/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) {
diff --git a/debian/patches/series b/debian/patches/series
index 5824dcd..6a2634c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -22,3 +22,4 @@ fix_manpage-has-errors_break_line.patch
add_rocommunity6.patch
fix_manpage-has-errors-from-man.patch
agentx-crash.patch
+TrapReceiver.patch