[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1389749477.3720.173.camel@deadeye.wl.decadent.org.uk>
Date: Wed, 15 Jan 2014 01:31:17 +0000
From: Ben Hutchings <ben@...adent.org.uk>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: David Miller <davem@...emloft.net>, therbert@...gle.com,
netdev@...r.kernel.org
Subject: Re: [PATCH] net: Check skb->rxhash in gro_receive
On Mon, 2014-01-13 at 13:37 -0800, Eric Dumazet wrote:
> On Mon, 2014-01-13 at 20:50 +0000, Ben Hutchings wrote:
>
> > According to the original report of that vulnerability:
> >
> > > skb_flow_dissect() were used by several places:
> > > - packet scheduler that want classify flows
> > > - skb_get_rxhash() that will be used by RPS, vxlan, multiqueue
> > > tap,macvtap packet fanout
> > > - skb_probe_transport_header() which was used for probing transport
> > > header for DODGY packets
> > > - __skb_get_poff() which will be used by socket filter
> >
> > So flow dissector is already part of the attack surface for both local
> > and remote users in common configurations.
>
> Take a debian or Android distro, and this bug is not hit on 'common
> configurations'. Send them a 'packet of death', they will not hang,
> unless some admin set up RPS/RFS on the incoming device.
[...]
When I investigated the scope of this for Debian, I tried sending a
'packet of death' to a VM and actually triggered the lockup in the TX
path of the *host*, running Debian unstable with Linux 3.11. I didn't
track down exactly why that was but I think that libvirt's default
networking configuration includes multiqueue devices that use flow
dissector.
Ben.
--
Ben Hutchings
Life is what happens to you while you're busy making other plans.
- John Lennon
Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)
Powered by blists - more mailing lists