Bug 1729931 (CVE-2019-10638)

Summary: CVE-2019-10638 Kernel: net: weak IP ID generation leads to remote device tracking
Product: [Other] Security Response Reporter: Marian Rehak <mrehak>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: acaringi, airlied, bhu, blc, brdeoliv, bskeggs, dhoward, dvlasenk, esammons, fhrbata, hdegoede, hkrzesin, iboverma, ichavero, itamar, jarodwilson, jeremy, jforbes, jglisse, jlelli, john.j5live, jonathan, josef, jross, jshortt, jstancek, jwboyer, kernel-maint, kernel-mgr, labbott, lgoncalv, linville, matt, mchehab, mcressma, mjg59, mlangsdo, nmurray, pdwyer, plougher, ppandit, rt-maint, rvrbovsk, steved, williams
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
A flaw was found in the way the Linux kernel derived the IP ID field from a partial kernel space address returned by a net_hash_mix() function. A remote user could observe a weak IP ID generation in this field to track Linux devices.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-06 00:53:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1733067, 1733068, 1733071, 1718503, 1729932, 1733069, 1733070    
Bug Blocks: 1729937    

Description Marian Rehak 2019-07-15 11:10:00 UTC
When IP packet fragmentation is ON, IP Identification(ID) field of the IP header 
is used, during packet reassembly on the destination host, to identify fragments 
which belong to the same packet. IP ID field is required to be unique and same 
across all fragments of an IP packet. IP packet fragments are identified by a 
tuple with following fields

    (source address|destination address|protocol|IP-ID)

The Linux kernel derived this IP ID field from partial kernel space address 
returned by net_hash_mix() function, which is then used with a hash function to 
compute the IP ID field.

A remote user could observe this IP ID field to deduce the hash key used to
derive its value. This could enable a remote user to track particular Linux

Upstream fix:
  -> https://git.kernel.org/linus/df453700e8d81b1bdafdf684365ee2b9431fb702

Issue introduced by:
  -> https://git.kernel.org/linus/b6a7719aedd7e5c0f2df7641aa47386111682df4
  -> https://git.kernel.org/linus/5a352dd0a3aac03b443c94828dfd7144261c8636

Comment 1 Marian Rehak 2019-07-15 11:10:16 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1729932]

Comment 3 Prasad J Pandit 2019-07-28 08:10:48 UTC
External References:


Comment 4 Prasad J Pandit 2019-08-06 06:58:24 UTC

This issue does not affect the versions of Linux kernel as shipped with Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 6.

This issue affects the version of Linux kernel as shipped with Red Hat Enterprise Linux 7,  8 and Red Hat Enterprise MRG 2. Future kernel updates for Red Hat Enterprise Linux 7, 8 and Red Hat Enterprise MRG 2 may address this issue.

Comment 5 errata-xmlrpc 2019-11-05 20:35:44 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2019:3309 https://access.redhat.com/errata/RHSA-2019:3309

Comment 6 errata-xmlrpc 2019-11-05 21:06:26 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2019:3517 https://access.redhat.com/errata/RHSA-2019:3517

Comment 7 Product Security DevOps Team 2019-11-06 00:53:07 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):