Junglewise Threat Intelligence

CVE-2024-26906: Linux Kernel x86 denial of service in vsyscall page read

CVE-2024-26906 · Severity: medium · CVSS 5.5 · Published 2024-04-17

Technologies: Linux Kernel. Vendors: Linux.

Executive brief

A vulnerability in the Linux kernel's memory management for x86 systems could allow a local user to cause a system crash. By using a BPF program to read from a specific legacy memory area (the vsyscall page), an attacker can trigger an unhandled kernel exception. This results in a 'kernel oops' or system hang, impacting the availability of the affected server or workstation.

Technical details

The vulnerability exists in the x86 memory management component of the Linux kernel. When a BPF program uses 'bpf_probe_read_kernel()' to access the vsyscall page, it invokes 'copy_from_kernel_nofault()'. Because the vsyscall page is not readable from kernel space, a page fault is triggered. However, 'handle_page_fault()' incorrectly identifies the vsyscall address as user space rather than kernel space, preventing the BPF fix-up mechanism from executing. This leads to a 'page_fault_oops()' due to Supervisor Mode Access Prevention (SMAP) violations. The fix involves explicitly disallowing vsyscall page reads within 'copy_from_kernel_nofault_allowed()'.

Affected products

  • Linux Linux Kernel up to 5.10.214, 5.11 to 5.15.153, 5.16 to 6.1.83, 6.2 to 6.6.23, 6.7 to 6.7.11, 6.8-rc1 to 6.8-rc5

Timeline

  • 2024-04-17: advisory: NVD publication date
  • 2024-02-15: patched: Mainline kernel patch committed

References

Related threats