Executive brief
A memory management issue was identified in the Linux kernel's ftrace component, which is used by developers and administrators to analyze system performance. Under certain conditions, the system may incorrectly calculate the amount of memory needed for tracing, leading to excessive memory allocation and system warnings. While primarily a stability concern, it could lead to minor resource exhaustion or unexpected system behavior during debugging sessions.
Technical details
A vulnerability in the Linux kernel's ftrace subsystem stems from an integer division error in the calculation of ENTRIES_PER_PAGE. The code assumed that ENTRIES_PER_PAGE multiplied by the allocation order equaled the actual page capacity. However, when PAGE_SIZE is not a multiple of ENTRY_SIZE, high-order allocations result in significantly more capacity than calculated. This leads to an underestimation of pg_remaining in ftrace_process_locs() and ftrace_allocate_records(), causing the kernel to over-allocate memory and trigger WARN() assertions. An attacker with local access could potentially exploit this to cause minor resource exhaustion or trigger kernel warnings. The issue has been resolved by using actual page group capacity for allocation and validation logic.
Affected products
- Linux Linux 6.15 to 6.18.7, 6.19
Timeline
- 2026-01-13: disclosed: Initial patch submission by Guenter Roeck
- 2026-01-23: patched: Patch committed to stable tree
- 2026-02-04: advisory: CVE-2026-23052 published