CVE-2022-50255 in Linuxinfo

Summary

by MITRE • 09/15/2025

In the Linux kernel, the following vulnerability has been resolved:

tracing: Fix reading strings from synthetic events

The follow commands caused a crash:

# cd /sys/kernel/tracing # echo 's:open char file[]' > dynamic_events
# echo 'hist:keys=common_pid:file=filename:onchange($file).trace(open,$file)' > events/syscalls/sys_enter_openat/trigger' # echo 1 > events/synthetic/open/enable

BOOM!

The problem is that the synthetic event field "char file[]" will read
the value given to it as a string without any memory checks to make sure the address is valid. The above example will pass in the user space address and the sythetic event code will happily call strlen() on it and then strscpy() where either one will cause an oops when accessing user space addresses.

Use the helper functions from trace_kprobe and trace_eprobe that can read strings safely (and actually succeed when the address is from user space and the memory is mapped in).

Now the above can show:

packagekitd-1721 [000] ...2. 104.597170: open: file=/usr/lib/rpm/fileattrs/cmake.attr
in:imjournal-978 [006] ...2. 104.599642: open: file=/var/lib/rsyslog/imjournal.state.tmp
packagekitd-1721 [000] ...2. 104.626308: open: file=/usr/lib/rpm/fileattrs/debuginfo.attr

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 01/10/2026

This vulnerability exists within the Linux kernel's tracing subsystem, specifically affecting how synthetic events process string data. The issue stems from inadequate memory validation when reading string fields from synthetic events, creating a potential for kernel crashes and system instability. The flaw occurs in the kernel's trace event handling mechanism where user-space addresses are passed directly to string processing functions without proper validation checks. This represents a classic buffer overflow vulnerability pattern that can lead to privilege escalation or denial of service conditions.

The technical implementation of this vulnerability involves the dynamic_events interface where synthetic event definitions are created and executed. When a user creates a synthetic event with a string field like 'char file[]', the kernel's event processing code fails to validate that the memory address being referenced is accessible within kernel space. The crash occurs because the code attempts to call strlen() and strscpy() functions directly on user-space addresses, which triggers kernel page fault exceptions. This behavior violates fundamental security principles by allowing unvalidated memory access patterns that can be exploited by malicious actors.

The operational impact of this vulnerability is significant as it can cause system crashes and potentially allow privilege escalation attacks. When the kernel attempts to read strings from user-space addresses without proper validation, it creates a condition where any process with access to the tracing interface can trigger a kernel oops. This vulnerability affects systems running Linux kernel versions that include the problematic tracing code, particularly those utilizing dynamic event creation and synthetic event functionality. The crash condition occurs during trigger execution when the kernel attempts to process user-provided string data.

The fix implemented addresses this vulnerability by incorporating safe string reading helper functions from existing kernel tracing components such as trace_kprobe and trace_eprobe. These helper functions provide proper memory validation and address space checking before attempting string operations. The solution ensures that when synthetic events process string fields, the kernel first validates that addresses are accessible and properly mapped before attempting to read string data. This approach aligns with secure coding practices and follows established kernel security patterns. The mitigation also ensures proper error handling and prevents the kernel from attempting operations on invalid memory addresses.

This vulnerability demonstrates weaknesses in kernel memory management and validation processes, particularly in the tracing subsystem where user input is processed without adequate sandboxing. The fix represents a defensive programming approach that prevents unsafe memory access patterns while maintaining the intended functionality of synthetic events. The solution follows industry best practices for kernel security and addresses similar issues documented in CWE-121 and CWE-125 categories related to buffer overflow and memory access violations. The implementation also aligns with ATT&CK techniques focusing on privilege escalation and system stability compromise through kernel-level vulnerabilities.

Responsible

Linux

Reservation

09/15/2025

Disclosure

09/15/2025

Moderation

accepted

CPE

ready

EPSS

0.00149

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!