ftrace: Add global mutex to serialize trace_parser access
0Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Track
exploitation probability
—
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
ftrace: Add global mutex to serialize trace_parser access
In ftrace, the trace_parser structure is allocated and initialized when
a trace file is opened, and is subsequently used across write and release
handlers to parse user input.
The affected handler paths and their specific functions are:
- Open paths: ftrace_regex_open(), ftrace_graph_open()
- Write paths: ftrace_regex_write(), ftrace_graph_write()
- Release paths: ftrace_regex_release(), ftrace_graph_release()
If userspace opens a trace file descriptor and shares it across multiple
threads, concurrent write calls will race on the parser's internal state,
specifically the 'idx', 'cont', and 'buffer' fields, leading to corrupted
input or undefined behavior.
Fix this by adding a global mutex, parser_lock, to serialize all access
to trace_parser across write and release paths, preventing concurrent
corruption of parser state.
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/3d0dd138a06c782f8b755cd1b6f9909494514ce1https://git.kernel.org/stable/c/65bf73bee1a4f3722208ae46afc0fa5de76b9a0ahttps://git.kernel.org/stable/c/7720b63bcef3f54c7fe288774b720a227d54a306https://git.kernel.org/stable/c/90be137813e1a5bdfd671e40fe28004fb959d3e4https://git.kernel.org/stable/c/e807c9193d9493c7a0d039158ebb955050a76df1