Linux Kernel Persistent Ring Buffer Mmap Vulnerability Causes Kernel Crash

Vulnerability

A vulnerability in the Linux kernel's tracing subsystem has been addressed, which involved improper handling of the persistent ring buffer during memory mapping operations. When attempting to map a trace instance buffer linked to reserved memory, the kernel would crash due to an unhandled page fault. This issue arose because the mapping code used a function that does not support virtual memory that has been mapped with 'vmap()', leading to a page fault error. The vulnerability could be triggered by performing a memory map operation on a persistent buffer, which would result in a device not found error, similar to the response when the mmap field is not defined in the file_operations structure.

Impact

The vulnerability leads to a kernel crash due to an unhandled page fault, caused by improper memory mapping of the persistent ring buffer.

Reproduction

The vulnerability can be reproduced by mapping a trace instance buffer that is attached to reserved memory. This can be done by using the mmap() system call on a persistent ring buffer, which is managed by the tracing subsystem. The improper handling of the buffer will cause the kernel to crash, demonstrating the vulnerability.

Remediation

The vulnerability has been resolved by disabling the mmap() operation for persistent ring buffers that use the reserve_mem option. Users should ensure they are running a version of the Linux kernel that includes this fix.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
4.3
remediation
0.0
relevance
0.0
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.