CVE-2022-50849
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2022-50849 is a Linux kernel vulnerability in the pstore subsystem's RAM backend that can cause a kernel oops (panic) when reading /proc/kcore on affected devices. The flaw affects Linux kernel versions using pstore with the RAM (ramoops) backend, and was publicly disclosed on December 30, 2025. It carries a CVSS v3.1 base score of 7.0 (High), requiring local access with low privileges and high attack complexity (Red Hat Advisory, Red Hat Bugzilla).

Technical details

The root cause is an improper memory mapping in the pstore RAM backend (CWE-119/memory safety). During early boot, memblock reserves pages for the ramoops memory region, and pstore's RAM backend remaps these pages via vmap() with specific memory type flags (writeback or non-cached). When read_kcore() iterates over the vmalloc region and encounters the ramoops virtual address, it calls vmalloc_to_page() to retrieve the underlying page struct, then passes it to kmap_atomic(). The kmap_atomic() function incorrectly assumes the lowmem page is directly accessible via __va(), but since the lowmem mapping was never established for these reserved pages, a level-2 translation fault occurs, triggering a kernel oops. The fix involves passing the VM_IOREMAP flag to vmap(), which causes vread() to exclude the ramoops region from kcore operations entirely (Red Hat Bugzilla).

Impact

Successful exploitation causes a kernel oops (system crash), resulting in a denial of service on affected systems. The crash is triggered by a simple read of /proc/kcore, which any low-privileged local user can perform. While the primary impact is availability (system crash), the corrupted memory access patterns observed in the kernel panic trace may also present secondary risks of information disclosure from kernel memory (Red Hat Advisory, Red Hat Bugzilla).

Exploitation steps

  1. Identify a vulnerable system: Confirm the target Linux system uses pstore with the RAM (ramoops) backend, which is common on embedded or Chromebook-style devices (e.g., Google Lazor).
  2. Obtain local access: Authenticate to the system with any low-privileged user account.
  3. Trigger the kernel oops: Execute the command cat /proc/kcore > /dev/null from the local shell. This causes read_kcore() to iterate over the vmalloc region, encounter the ramoops virtual address, and attempt to access reserved lowmem pages via kmap_atomic(), triggering a level-2 translation fault and kernel panic (Red Hat Bugzilla).

Indicators of compromise

  • Logs: Kernel logs (dmesg or /var/log/kern.log) showing Internal error: Oops: 96000006 with a call trace including __memcpy, vread, and read_kcore; messages referencing Unable to handle kernel paging request at virtual address in the ramoops address range.
  • Process: Processes such as cat, perf, or other tools reading /proc/kcore immediately prior to a system crash or reboot.
  • System: Unexpected system reboots or kernel panics on devices using pstore with RAM backend, particularly following access to /proc/kcore (Red Hat Bugzilla).

Mitigation and workarounds

Apply the upstream Linux kernel patch that passes the VM_IOREMAP flag to vmap() in the pstore RAM backend; multiple stable kernel commits address this issue (e.g., commits 2f82381d, 4d3126f2, 6d946021, 69dbff7d in the stable kernel tree). As a temporary workaround, restrict read access to /proc/kcore using file permissions (e.g., chmod 400 /proc/kcore or via kernel hardening settings) to prevent low-privileged users from triggering the fault. Systems using pstore with non-RAM backends are not affected and do not require remediation (Red Hat Bugzilla, Red Hat Advisory).

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-64557NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-selftests-internal
NoNoJul 29, 2026
CVE-2026-64556NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-64k-devel
NoNoJul 29, 2026
CVE-2026-64555NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-fde-6.14
NoNoJul 27, 2026
CVE-2026-64554NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-gcp-6.14
NoYesJul 27, 2026
CVE-2026-64553NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-64k-debug-modules-internal
NoYesJul 27, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management