Bug 1070618 (CVE-2014-0100)

Summary: CVE-2014-0100 kernel: net: inet frag code race condition leading to user-after-free
Product: [Other] Security Response Reporter: Petr Matousek <pmatouse>
Component: vulnerabilityAssignee: Nobody <nobody>
Status: ASSIGNED --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: aquini, kernel-mgr, nobody, npajkovs, peterm, rkhan
Target Milestone: ---Keywords: Reopened, Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-27 09:27:32 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: 1070620, 1070711, 1072026    
Bug Blocks: 1070640    

Description Petr Matousek 2014-02-27 09:22:49 UTC
Description of the problem:

A very subtle race condition between inet_frag_evictor,
inet_frag_intern and the IPv4/6 frag_queue and expire functions (basically
the users of inet_frag_kill/inet_frag_put) was found.

What happens is that after a fragment has been added to the hash chain but
before it's been added to the lru_list (inet_frag_lru_add), it may get
deleted (either by an expired timer if the system load is high or the
timer sufficiently low, or by the fraq_queue function for different
reasons) before it's added to the lru_list, then after it gets added
it's a matter of time for the evictor to get to a piece of memory which
has been freed leading to a number of different bugs depending on what's
left there.

Introduced by:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3ef0eb0d

Acknowledgements:

This issue was discovered by Nikolay Aleksandrov of Red Hat.

Comment 1 Petr Matousek 2014-02-27 09:27:32 UTC
Statement:

This issue did not affect the versions of Linux kernel package as shipped with Red Hat Enterprise Linux 5 and 6 as they did not backport the commit that introduced this issue.

Comment 5 Petr Matousek 2014-03-03 17:03:50 UTC
Upstream patch submission:

http://patchwork.ozlabs.org/patch/325844/

Comment 6 Petr Matousek 2014-03-03 17:30:42 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1072026]

Comment 7 Fedora Update System 2014-03-06 08:09:56 UTC
kernel-3.13.5-202.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2014-03-09 04:38:38 UTC
kernel-3.13.5-103.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 errata-xmlrpc 2014-05-27 16:27:21 UTC
This issue has been addressed in following products:

  MRG for RHEL-6 v.2

Via RHSA-2014:0557 https://rhn.redhat.com/errata/RHSA-2014-0557.html