CVE-2010-2242 Apply a source port mapping to virtual network masquerading
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 10 Jun 2010 16:50:38 +0000 (12:50 -0400)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 19 Jul 2010 14:50:27 +0000 (15:50 +0100)
commitc567853089a2764c964002dd752e09e318524a38
tree9bbdbd5fb2d6b0a8e1f12796f3e391406f4c2844
parentde7d4c6ae7b08db0e00a8250e4d0dff134702b4d
CVE-2010-2242 Apply a source port mapping to virtual network masquerading

IPtables will seek to preserve the source port unchanged when
doing masquerading, if possible. NFS has a pseudo-security
option where it checks for the source port <= 1023 before
allowing a mount request. If an admin has used this to make the
host OS trusted for mounts, the default iptables behaviour will
potentially allow NAT'd guests access too. This needs to be
stopped.

With this change, the iptables -t nat -L -n -v rules for the
default network will be

Chain POSTROUTING (policy ACCEPT 95 packets, 9163 bytes)
 pkts bytes target     prot opt in     out     source               destination
   14   840 MASQUERADE  tcp  --  *      *       192.168.122.0/24    !192.168.122.0/24    masq ports: 1024-65535
   75  5752 MASQUERADE  udp  --  *      *       192.168.122.0/24    !192.168.122.0/24    masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24

* src/network/bridge_driver.c: Add masquerade rules for TCP
  and UDP protocols
* src/util/iptables.c, src/util/iptables.c: Add source port
  mappings for TCP & UDP protocols when masquerading.
src/network/bridge_driver.c
src/util/iptables.c
src/util/iptables.h