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

ufs: core: tracing: Do not dereference pointers in TP_printk()

The trace events in drivers/ufs/core/ufs_trace.h were converted to take a
pointer to the hba structure as an argument for the tracepoint and then in
TP_printk() the printing of the dev_name from the ring buffer was
converted to using the dev dereferenced pointer from the hba saved
pointer.

This is not allowed as the TP_printk() is executed at the time the trace
event is read from /sys/kernel/tracing/trace file. That can happen
literally, seconds, minutes, hours, weeks, days, or even months later!
There is no guarantee that the hba pointer will still exist by the time it
is dereferenced when the "trace" file is read.

Instead, save the device name from the hba pointer at the time the
tracepoint is called and place it into the ring buffer event. Then the
TP_printk() can read the name directly from the ring buffer and remove the
possibility that it will read a freed pointer and crash the kernel.

This was detected when testing the trace event code that looks for
TP_printk() parameters doing illegal derferences[1]

[1] https://lore.kernel.org/all/20260630184836.74d477b6@gandalf.local.home/
Published: 2026-08-28
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw arises in the UFS driver’s tracing code, where a pointer to the host bus adapter (hba) structure is stored in a trace event and later dereferenced in TP_printk() when the trace is read from /sys/kernel/tracing/trace. Because the event may be consumed long after the hba has been freed, the kernel may dereference invalid memory, leading to a crash and a system-wide panic. The vulnerability is a classic use‑after‑free scenario that can affect any kernel process that reads the trace output.

Affected Systems

All Linux kernel builds that include the original UFS tracing implementation in drivers/ufs/core/ufs_trace.h are affected. This includes kernels shipped by major distributions that have not yet incorporated the patch and is independent of the architecture. No specific version stamps are listed; the flaw existed until the code was updated to store the device name directly in the ring buffer instead of the hba pointer.

Risk and Exploitability

The EPSS score is not available and the CVE is not listed in the CISA KEV catalog. The required conditions for exploitation are local access to the kernel trace file and the presence of the vulnerable trace logic. A privileged user who can trigger a UFS trace event and then read /sys/kernel/tracing/trace could force a kernel panic. It is a high‑consequence flaw because it results in a full system reboot, but the likelihood of exploitation is uncertain due to the lack of a public EPSS or CVSS metric.

Generated by OpenCVE AI on August 28, 2026 at 13:02 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version that contains the patch which removes the hba pointer dereference in TP_printk().
  • Configure the system so that only trusted users have read access to /sys/kernel/tracing/trace, limiting the ability of an attacker to trigger the crash.
  • If an immediate kernel upgrade is not possible, disable UFS tracing in the kernel configuration or use a boot parameter that prevents the creation of trace events for the UFS driver, thereby removing the vulnerable path.

Generated by OpenCVE AI on August 28, 2026 at 13:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 28 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ufs: core: tracing: Do not dereference pointers in TP_printk() The trace events in drivers/ufs/core/ufs_trace.h were converted to take a pointer to the hba structure as an argument for the tracepoint and then in TP_printk() the printing of the dev_name from the ring buffer was converted to using the dev dereferenced pointer from the hba saved pointer. This is not allowed as the TP_printk() is executed at the time the trace event is read from /sys/kernel/tracing/trace file. That can happen literally, seconds, minutes, hours, weeks, days, or even months later! There is no guarantee that the hba pointer will still exist by the time it is dereferenced when the "trace" file is read. Instead, save the device name from the hba pointer at the time the tracepoint is called and place it into the ring buffer event. Then the TP_printk() can read the name directly from the ring buffer and remove the possibility that it will read a freed pointer and crash the kernel. This was detected when testing the trace event code that looks for TP_printk() parameters doing illegal derferences[1] [1] https://lore.kernel.org/all/20260630184836.74d477b6@gandalf.local.home/
Title ufs: core: tracing: Do not dereference pointers in TP_printk()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-28T06:49:05.685Z

Reserved: 2026-08-26T14:34:25.781Z

Link: CVE-2026-80661

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T08:16:51.290

Modified: 2026-08-28T08:16:51.290

Link: CVE-2026-80661

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T13:15:05Z

Weaknesses