CVE-2019-19339 Denial of service in kpatch:
A privileged guest user can cause a host processor halt via a Machine Check Error due to incomplete TLB invalidation fixes in Red Hat Enterprise Linux 8.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2019-19339?
CVE-2019-19339 is a medium-severity denial of service vulnerability in Redhat Enterprise Linux, published on 17 Jan 2020. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
It was found that the Red Hat Enterprise Linux 8 kpatch update did not include the complete fix for CVE-2018-12207. A flaw was found in the way Intel CPUs handle inconsistency between, virtual to physical memory address translations in CPU's local cache and system software's Paging structure entries. A privileged guest user may use this flaw to induce a hardware Machine Check Error on the host processor, resulting in a severe DoS scenario by halting the processor. System software like OS OR Virtual Machine Monitor (VMM) use virtual memory system for storing program instructions and data in memory. Virtual Memory system uses Paging structures like Page Tables and Page Directories to manage system memory. The processor's Memory Management Unit (MMU) uses Paging structure entries to translate program's virtual memory addresses to physical memory addresses. The processor stores these address translations into its local cache buffer called - Translation Lookaside Buffer (TLB). TLB has two parts, one for instructions and other for data addresses. System software can modify its Paging structure entries to change address mappings OR certain attributes like page size etc. Upon such Paging structure alterations in memory, system software must invalidate the corresponding address translations in the processor's TLB cache. But before this TLB invalidation takes place, a privileged guest user may trigger an instruction fetch operation, which could use an already cached, but now invalid, virtual to physical address translation from Instruction TLB (ITLB). Thus accessing an invalid physical memory address and resulting in halting the processor due to the Machine Check Error (MCE) on Page Size Change.
Weakness: CWE-805
Which versions are affected by CVE-2019-19339?
It affects 2 products.
Linux distribution packages (3)
kpatch-patch-4_18_0-147 Red Hat:enterprise_linux:8::baseos | All versions | 0:1-4.el8 |
kpatch-patch-4_18_0-147-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:1-4.el8 |
kpatch-patch-4_18_0-147-debugsource Red Hat:enterprise_linux:8::baseos | All versions | 0:1-4.el8 |
Products include Redhat Enterprise Linux, Redhat Enterprise Linux Eus.
How do I fix CVE-2019-19339?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2019-19339 being exploited?
There is no known exploitation of CVE-2019-19339 in the wild and no public exploit code.
Other vulnerabilities in Redhat Enterprise Linux
- CVE-2018-14667 Red Hat JBoss RichFaces Framework Expression Language Injection
- CVE-2021-20325 Missing fixes for CVE-2021-40438 and CVE-2021-26691 in the versions of httpd, as shipped in Red Hat Enterprise Linux 8.5.0, causes a securit
- CVE-2018-25011 Memory corruption in libwebp
- CVE-2018-25014 Other in libwebp
- CVE-2014-3585 Supply chain in redhat-upgrade-tool
Sources
Also known as GHSA-3848-jq8g-9mvf, RHSA-2019:4245.