[PATCH] NETFILTER: SNMP NAT: fix memory corruption (CVE-2006-2444)
commit1db6b5a66e93ff125ab871d6b3f7363412cc87e8
authorPatrick McHardy <kaber@trash.net>
Sat, 20 May 2006 07:31:26 +0000 (20 09:31 +0200)
committerChris Wright <chrisw@sous-sol.org>
Mon, 22 May 2006 18:04:25 +0000 (22 11:04 -0700)
tree875714adeef432fbe99b975a79db88d41199c02c
parentd87319c3e4d908e157a462d0e3e7fbffbf25324d
[PATCH] NETFILTER: SNMP NAT: fix memory corruption (CVE-2006-2444)

CVE-2006-2444 - Potential remote DoS in SNMP NAT helper.

Fix memory corruption caused by snmp_trap_decode:

- When snmp_trap_decode fails before the id and address are allocated,
  the pointers contain random memory, but are freed by the caller
  (snmp_parse_mangle).

- When snmp_trap_decode fails after allocating just the ID, it tries
  to free both address and ID, but the address pointer still contains
  random memory. The caller frees both ID and random memory again.

- When snmp_trap_decode fails after allocating both, it frees both,
  and the callers frees both again.

The corruption can be triggered remotely when the ip_nat_snmp_basic
module is loaded and traffic on port 161 or 162 is NATed.

Found by multiple testcases of the trap-app and trap-enc groups of the
PROTOS c06-snmpv1 testsuite.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
net/ipv4/netfilter/ip_nat_snmp_basic.c