Reading on this a little bit more, it looks like this bug would be
extremely difficult to exploit. Basically, it only occurs when you
allocate a socket, attempt to connect to a remote machine, and the
attempted connection fails. If that happens, you get a use-after-free
condition.
Given how frequent the described condition occurs, I have to question
whether SecurityFocus was accurate in implicating kernels back to 2.0.
I would suspect that this might be applicable only to 5.0 kernels, but
I don't have any evidence to suggest either way.
I'd also question whether it was accurate in describing this as a
remote exploit, since this describes a connection FROM the affected
machine, not TO it. You don't use connect() on incoming TCP
connections; you use listen() and accept() for that. However, it is
also true that some well-known services use combinations like this.
FTP, in particular, comes to mind, at least in active (default) mode.
So potentially, an attacker might initiate an FTP connection to a
vulnerable machine, then refuse attempted connections for FTP-DATA.
You see why I think this might not implicate earlier kernels? That
happens all the time, if you're behind a firewall and don't have the
passive FTP option turned on. And yet, that doesn't generally crash
Linux machines.
--
Tilghman