CVE-2022-50849
Kernel Oops Vulnerability in Linux pstore ram backend via kmap_atomic
Publication date: 2025-12-30
Last updated on: 2025-12-30
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 5.15.67 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability occurs in the Linux kernel's pstore subsystem when using the ram backend. It happens because kmap_atomic() assumes low memory pages are accessible via __va(), but in this case, pages reserved for ramoops are mapped via vmap() without a lowmem mapping. When reading /proc/kcore, this causes a kernel oops (crash) due to invalid memory access. The issue is fixed by passing VM_IOREMAP to vmap(), preventing the ramoops region from being included in the kcore, thus avoiding the crash.
How can this vulnerability impact me? :
This vulnerability can cause a kernel crash (oops) when accessing /proc/kcore on devices using pstore with the ram backend. This could lead to system instability or denial of service due to the kernel panic triggered by the invalid memory access.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, update the Linux kernel to a version where the pstore issue is resolved by passing VM_IOREMAP to vmap(), which prevents the kernel oops when accessing /proc/kcore on devices using pstore with the ram backend. Avoid running 'cat /proc/kcore > /dev/null' on affected devices until the kernel is patched.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by attempting to reproduce the kernel oops condition described. Specifically, running the command 'cat /proc/kcore > /dev/null' on devices using pstore with the ram backend may induce the oops if the system is vulnerable. Monitoring kernel logs for oops messages related to memory access faults at virtual addresses similar to 'ffffff807ff2b000' or errors involving kmap_atomic() and vmap() can also indicate the presence of this issue.