Bug 1729933 (CVE-2019-10639)
| Summary: | CVE-2019-10639 Kernel: net: using kernel space address bits to derive IP ID may potentially break KASLR | ||
|---|---|---|---|
| Product: | [Other] Security Response | Reporter: | Marian Rehak <mrehak> |
| Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
| Status: | CLOSED ERRATA | QA Contact: | |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | unspecified | CC: | 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, mmilgram, nmurray, pdwyer, plougher, ppandit, rt-maint, rvrbovsk, steved, williams |
| Target Milestone: | --- | Keywords: | Security |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| 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 this IP ID field to extract the kernel address bits used to derive its value, which may result in leaking the hash key and potentially defeating KASLR.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-03-31 22:34:36 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: | 1729934, 1737436, 1737437, 1737438, 1737439, 1737440, 1828466, 1828467 | ||
| Bug Blocks: | 1729937 | ||
Created kernel tracking bugs for this issue: Affects: fedora-all [bug 1729934] External References: https://arxiv.org/pdf/1906.10478.pdf Statement: 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. This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2020:1016 https://access.redhat.com/errata/RHSA-2020:1016 This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2020:1070 https://access.redhat.com/errata/RHSA-2020:1070 This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2019-10639 This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2020:1567 https://access.redhat.com/errata/RHSA-2020:1567 This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2020:1769 https://access.redhat.com/errata/RHSA-2020:1769 This issue has been addressed in the following products: Red Hat Enterprise Linux 7.7 Extended Update Support Via RHSA-2020:2522 https://access.redhat.com/errata/RHSA-2020:2522 |
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 kernel space address bits used to derive its value. Thus leaking the hash key and potentially defeating KASLR. Upstream fix: ------------- -> https://git.kernel.org/linus/355b98553789b646ed97ad801a619ff898471b92 Issue introduced by: -------------------- -> https://git.kernel.org/linus/b6a7719aedd7e5c0f2df7641aa47386111682df4 -> https://git.kernel.org/linus/5a352dd0a3aac03b443c94828dfd7144261c8636