Bug 52991
Summary: | Race condition in netfilter connection tracking can lead to erroneous DROPs | ||
---|---|---|---|
Product: | Networking | Reporter: | Brian Conry (bconry) |
Component: | Netfilter/Iptables | Assignee: | networking_netfilter-iptables (networking_netfilter-iptables) |
Status: | NEW --- | ||
Severity: | normal | ||
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 3.5.0+ (earlier versions untested) | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
A small program that can demonstrate the race condition
The kernel configuration file I used to repro with 3.8.0-rc4 |
Description
Brian Conry
2013-01-24 20:49:49 UTC
Created attachment 91771 [details]
The kernel configuration file I used to repro with 3.8.0-rc4
bugzilla-daemon@bugzilla.kernel.org schrieb: >https://bugzilla.kernel.org/show_bug.cgi?id=52991 > > > > > >--- Comment #1 from Brian Conry <bconry@isc.org> 2013-01-24 20:52:01 >--- >Created an attachment (id=91771) > --> (https://bugzilla.kernel.org/attachment.cgi?id=91771) >The kernel configuration file I used to repro with 3.8.0-rc4 This is mainly done for stateful protocols like TCP, where two simulaneous new connections with the same identity can't be handled properly due to different ISNs etc. In case of UDP we might be able to associate the second packet with the first connection if NAT mappings, helpers etc all match. Will try to look into this over the weekend. In the months since I first submitted this ticket we (ISC) developed a patch intended to work around this issue by allowing a retry after receiving an EPERM from sendmsg(2) for any of the "first sends", just as in my example program. It didn't help either of our customers. So while this is (probably) a valid bug, it's one with no known impact. |