Bug 853465 (CVE-2012-3552)

Summary: CVE-2012-3552 kernel: net: slab corruption due to improper synchronization around inet->opt
Product: [Other] Security Response Reporter: Petr Matousek <pmatouse>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: agordeev, anton, bhu, davej, dhoward, fhrbata, gansalmon, iboverma, itamar, jforbes, jkacur, jneedle, jonathan, jpirko, jrusnack, jwboyer, kernel-maint, kernel-mgr, lgoncalv, lwang, madhu.chinakonda, mcressma, mmilgram, plougher, rt-maint, sforsber, williams, yozone
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:50:45 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: 829109, 844274, 855302, 872113    
Bug Blocks: 853470    

Description Petr Matousek 2012-08-31 15:57:44 UTC
Description of the problem:
Lack proper synchronization to manipulate inet->opt ip_options can lead to system crash.

Problem is that ip_make_skb() calls ip_setup_cork() and ip_setup_cork() possibly makes a copy of ipc->opt (struct ip_options), without any protection against another thread manipulating inet->opt. Another thread can change inet->opt pointer and free old one under us.

Given right server application (setting socket options and processing traffic over the same socket at the same time), remote attacker could use this flaw to crash the system. More likely though, local unprivileged user could use this 
flaw to crash the system.

Potential privilege escalation impact cannot be ruled out.

Upstream fix:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f6d8bd051c391c1c0458a30b2a7abcd939329259

Comment 1 Petr Matousek 2012-08-31 16:08:32 UTC
Statement:

This issue did affect the versions of Linux kernel as shipped with Red Hat Enterprise Linux 5.

This issue did affect the versions of Linux kernel as shipped with Red Hat Enterprise Linux 6.

This issue did not affect the versions of Linux kernel as shipped with Red Hat Enterpise MRG 2.

Comment 5 Murray McAllister 2012-09-24 11:03:23 UTC
Acknowledgements:

Red Hat would like to thank Hafid Lin for reporting this issue.

Comment 6 errata-xmlrpc 2012-09-25 19:02:01 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6

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

Comment 8 errata-xmlrpc 2012-12-04 20:53:24 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

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