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

tracing: Fix race between update_event_fields and, event_define_fields

The following sequence may leads race between event_define_fields()
and update_event_fields():

CPU0 (loads module A) CPU1 (loads module B)
=============================== ===============================
load_module(A) load_module(B)
notifier_call_chain notifier_call_chain
trace_module_notify trace_module_notify
mutex_lock(&event_mutex) trace_event_update_all()
trace_module_add_events(A) down_write(&trace_event_sem)
__register_event(call_A)
__add_event_to_tracers(call_A)
event_define_fields(call_A)
for each f: list_for_each_entry(field,
list_add(&f->link, &class->fields, link)
&class->fields) field = class->fields->next;

Where access to the class->fields is not protected by the event_mutex in
trace_event_update_all().

This produces the following panic:
Unable to handle kernel access ... at virtual address 0000000000000018
pc : update_event_fields+0xf8/0x368
Call trace:
update_event_fields+0xf8/0x368
trace_event_update_all+0x7c/0x2b4
trace_module_notify+0x4c/0x1dc
notifier_call_chain+0x84/0x168
blocking_notifier_call_chain_robust+0x64/0xd4
load_module+0x10c8/0x123c
__arm64_sys_finit_module+0x230/0x31c

Fix by taking event_mutex in trace_event_update_all() before
trace_event_sem.
Published: 2026-08-22
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A race condition exists during the loading of kernel modules in the tracing subsystem. When two CPUs concurrently load modules, one path updates event fields while the other defines new event fields without holding the same mutex, leading to unsynchronised access to the event class’s fields list. This can dereference a null or corrupted pointer and trigger a kernel panic. The impact is a local denial of service: a compromised kernel will crash and require a reboot, potentially allowing an attacker to disrupt high‑availability systems or use the crash to pivot to further attacks.

Affected Systems

The vulnerability affects the Linux kernel’s tracing subsystem on all versions that did not incorporate the commit fixing the race. Both the generic Linux kernel and custom builds that include the standard tracing module are potentially impacted. No specific version numbers are listed in the CVE data.

Risk and Exploitability

The CVSS score is not provided, and EPSS data is unavailable, but the kernel crash represents a high‑severity flaw. The attack requires the ability to load or unload a kernel module, which is typically restricted to privileged users. Therefore, the practical exploitability is low to moderate, limited to privileged local attackers who can control module loading. The vulnerability is not listed in CISA’s KEV catalog.

Generated by OpenCVE AI on August 22, 2026 at 17:09 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that includes the tracing subsystem race condition fix.
  • If a kernel update is not immediately possible, restrict loading of untrusted kernel modules by disabling loadable modules or restricting /lib/modules permissions until an update is applied.
  • Reboot the system and monitor /var/log/kern.log for any traces of the crash to confirm the issue is resolved.

Generated by OpenCVE AI on August 22, 2026 at 17:09 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Sat, 22 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: tracing: Fix race between update_event_fields and, event_define_fields The following sequence may leads race between event_define_fields() and update_event_fields(): CPU0 (loads module A) CPU1 (loads module B) =============================== =============================== load_module(A) load_module(B) notifier_call_chain notifier_call_chain trace_module_notify trace_module_notify mutex_lock(&event_mutex) trace_event_update_all() trace_module_add_events(A) down_write(&trace_event_sem) __register_event(call_A) __add_event_to_tracers(call_A) event_define_fields(call_A) for each f: list_for_each_entry(field, list_add(&f->link, &class->fields, link) &class->fields) field = class->fields->next; Where access to the class->fields is not protected by the event_mutex in trace_event_update_all(). This produces the following panic: Unable to handle kernel access ... at virtual address 0000000000000018 pc : update_event_fields+0xf8/0x368 Call trace: update_event_fields+0xf8/0x368 trace_event_update_all+0x7c/0x2b4 trace_module_notify+0x4c/0x1dc notifier_call_chain+0x84/0x168 blocking_notifier_call_chain_robust+0x64/0xd4 load_module+0x10c8/0x123c __arm64_sys_finit_module+0x230/0x31c Fix by taking event_mutex in trace_event_update_all() before trace_event_sem.
Title tracing: Fix race between update_event_fields and, event_define_fields
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-22T15:32:16.026Z

Reserved: 2026-08-15T05:44:03.922Z

Link: CVE-2026-74636

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:36.750

Modified: 2026-08-22T16:16:36.750

Link: CVE-2026-74636

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T17:15:04Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')