Bug 844714 (CVE-2012-3412)

Summary: CVE-2012-3412 kernel: sfc: potential remote denial of service through TCP MSS option
Product: [Other] Security Response Reporter: Petr Matousek <pmatouse>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: agordeev, anton, bhu, davej, dhoward, fhrbata, gansalmon, itamar, jforbes, jkacur, jonathan, jrusnack, jwboyer, kernel-maint, kernel-mgr, lgoncalv, lwang, madhu.chinakonda, plougher, rcvalle, rt-maint, sforsber, williams
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-24 12:25:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 845554, 845555, 845556, 845557, 845558, 852354, 852355, 852356    
Bug Blocks: 844716    

Description Petr Matousek 2012-07-31 13:27:49 UTC
A peer (or local user) may cause TCP to use a nominal MSS of as little
as 88 (actual MSS of 76 with timestamps).  Given that we have a
sufficiently prodigious local sender and the peer ACKs quickly enough,
it is nevertheless possible to grow the window for such a connection
to the point that we will try to send just under 64K at once.  This
results in a single skb that expands to 861 segments.

In some drivers with TSO support, such an skb will require hundreds of
DMA descriptors; a substantial fraction of a TX ring or even more than
a full ring.  The TX queue selected for the skb may stall and trigger
the TX watchdog repeatedly (since the problem skb will be retried
after the TX reset).

Upstream patch:
http://www.spinics.net/lists/netdev/msg206332.html

References:
http://seclists.org/oss-sec/2012/q3/171

Acknowledgements:

Red Hat would like to thank Ben Hutchings of Solarflare (tm) for reporting this issue.

Comment 3 Petr Matousek 2012-08-03 12:35:31 UTC
Created kernel tracking bugs for this issue

Affects: fedora-all [bug 845558]

Comment 6 Petr Matousek 2012-08-03 16:46:54 UTC
Mitigation as recommended by Ben Hutchings
------------------------------------------

If all processes that may send on the sfc interface use Onload, or do
not use TCP, the vulnerability does not exist.

The vulnerability can otherwise be avoided by making a temporary
configuration change.  For an sfc interface named eth0, either:

a. Increase the TX queue size:
       ethtool -G eth0 tx 4096
   This can increase TX latency and memory usage.

or:

b. Disable TSO:
       ethtool -K eth0 tso off
   This can reduce TX throughput and/or increase CPU usage.

Comment 9 errata-xmlrpc 2012-10-02 17:11:36 UTC
This issue has been addressed in following products:

  RHEV-H, V2V and Agents for RHEL-5

Via RHSA-2012:1324 https://rhn.redhat.com/errata/RHSA-2012-1324.html

Comment 10 errata-xmlrpc 2012-10-02 17:45:30 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2012:1323 https://rhn.redhat.com/errata/RHSA-2012-1323.html

Comment 11 errata-xmlrpc 2012-10-09 10:28:53 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5.6 EUS - Server Only

Via RHSA-2012:1347 https://rhn.redhat.com/errata/RHSA-2012-1347.html

Comment 12 errata-xmlrpc 2012-10-16 14:46:08 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6

Via RHSA-2012:1366 https://rhn.redhat.com/errata/RHSA-2012-1366.html

Comment 13 errata-xmlrpc 2012-10-18 16:46:58 UTC
This issue has been addressed in following products:

  RHEV-H and Agents for RHEL-6

Via RHSA-2012:1375 https://rhn.redhat.com/errata/RHSA-2012-1375.html

Comment 14 errata-xmlrpc 2012-10-23 18:11:32 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6.2 EUS - Server Only

Via RHSA-2012:1401 https://rhn.redhat.com/errata/RHSA-2012-1401.html

Comment 15 errata-xmlrpc 2012-11-06 18:06:34 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6.1 EUS - Server Only

Via RHSA-2012:1430 https://rhn.redhat.com/errata/RHSA-2012-1430.html