In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix crash on synthetic stacktrace field usage
When creating a synthetic event based on an existing synthetic event that had a stacktrace field and the new synthetic event used that field a kernel crash occurred:
~# cd /sys/kernel/tracing ~# echo 's:stack unsigned long stack[];' > dynamic_events ~# echo 'hist:keys=prev_pid:s0=common_stacktrace if prev_state & 3' >> events/sched/sched_switch/trigger ~# echo 'hist:keys=next_pid:s1=$s0:onmatch(sched.sched_switch).trace(stack,$s1)' >> events/sched/sched_switch/trigger
The above creates a synthetic event that takes a stacktrace when a task schedules out in a non-running state and passes that stacktrace to the sched_switch event when that task schedules back in. It triggers the "stack" synthetic event that has a stacktrace as its field (called "stack").
~# echo 's:syscall_stack s64 id; unsigned long stack[];' >> dynamic_events ~# echo 'hist:keys=common_pid:s2=stack' >> events/synthetic/stack/trigger ~# echo 'hist:keys=common_pid:s3=$s2,i0=id:onmatch(synthetic.stack).trace(syscall_stack,$i0,$s3)' >> events/raw_syscalls/sys_exit/trigger
The above makes another synthetic event called "syscall_stack" that attaches the first synthetic event (stack) to the sys_exit trace event and records the stacktrace from the stack event with the id of the system call that is exiting.
When enabling this event (or using it in a historgram):
~# echo 1 > events/synthetic/syscall_stack/enable
Produces a kernel crash!
BUG: unable to handle page fault for address: 0000000000400010 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP PTI CPU: 6 UID: 0 PID: 1257 Comm: bash Not tainted 6.16.3+deb14-amd64 #1 PREEMPT(lazy) Debian 6.16.3-1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014 RIP: 0010:trace_event_raw_event_synth+0x90/0x380 Code: c5 00 00 00 00 85 d2 0f 84 e1 00 00 00 31 db eb 34 0f 1f 00 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 <49> 8b 04 24 48 83 c3 01 8d 0c c5 08 00 00 00 01 cd 41 3b 5d 40 0f RSP: 0018:ffffd2670388f958 EFLAGS: 00010202 RAX: ffff8ba1065cc100 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000001 RSI: fffff266ffda7b90 RDI: ffffd2670388f9b0 RBP: 0000000000000010 R08: ffff8ba104e76000 R09: ffffd2670388fa50 R10: ffff8ba102dd42e0 R11: ffffffff9a908970 R12: 0000000000400010 R13: ffff8ba10a246400 R14: ffff8ba10a710220 R15: fffff266ffda7b90 FS: 00007fa3bc63f740(0000) GS:ffff8ba2e0f48000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000400010 CR3: 0000000107f9e003 CR4: 0000000000172ef0 Call Trace: <TASK> ? __tracing_map_insert+0x208/0x3a0 action_trace+0x67/0x70 event_hist_trigger+0x633/0x6d0 event_triggers_call+0x82/0x130 trace_event_buffer_commit+0x19d/0x250 trace_event_raw_event_sys_exit+0x62/0xb0 syscall_exit_work+0x9d/0x140 do_syscall_64+0x20a/0x2f0 ? trace_event_raw_event_sched_switch+0x12b/0x170 ? save_fpregs_to_fpstate+0x3e/0x90 ? _raw_spin_unlock+0xe/0x30 ? finish_task_switch.isra.0+0x97/0x2c0 ? __rseq_handle_notify_resume+0xad/0x4c0 ? __schedule+0x4b8/0xd00 ? restore_fpregs_from_fpstate+0x3c/0x90 ? switch_fpu_return+0x5b/0xe0 ? do_syscall_64+0x1ef/0x2f0 ? do_fault+0x2e9/0x540 ? __handle_mm_fault+0x7d1/0xf70 ? count_memcg_events+0x167/0x1d0 ? handle_mm_fault+0x1d7/0x2e0 ? do_user_addr_fault+0x2c3/0x7f0 entry_SYSCALL_64_after_hwframe+0x76/0x7e
The reason is that the stacktrace field is not labeled as such, and is treated as a normal field and not as a dynamic event that it is.
In trace_event_raw_event_synth() the event is field is still treated as a dynamic array, but the retrieval of the data is considered a normal field, and the reference is just the meta data:
// Meta data is retrieved instead of a dynamic array ---truncated---
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Mar 25, 2026 | Feb 4, 2026 |
| Ubuntu | — | Upgrade linux-image-6.17.0-1019-oracleUpgrade linux-image-ibmUpgrade linux-image-6.17.0-1021-gcp-64kUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1054-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1059-azure-fipsUpgrade linux-image-azure-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1054-gke-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-6.17.0-1031-nvidia-64kUpgrade linux-image-oracle-64kUpgrade linux-image-azure-fipsUpgrade linux-image-6.17.0-1018-realtimeUpgrade linux-image-aws-fips-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1024-nvidia-tegra-rtUpgrade linux-image-6.17.0-1018-azure-fdeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-realtime-6.17Upgrade linux-image-raspi-realtimeUpgrade linux-image-ibm-classicUpgrade linux-image-xilinx-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.17.0-1021-azureUpgrade linux-image-6.8.0-1055-awsUpgrade linux-image-azure-fips-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-gcp-6.17Upgrade linux-image-6.8.0-1059-azureUpgrade linux-image-6.8.0-1056-raspiUpgrade linux-image-oem-24.04dUpgrade linux-image-kvmUpgrade linux-image-intel-iotgUpgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-fdeUpgrade linux-image-azureUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-oem-24.04cUpgrade linux-image-generic-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.17.0-1031-nvidiaUpgrade linux-image-oem-6.17Upgrade linux-image-realtimeUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-6.17.0-1021-gcpUpgrade linux-image-virtualUpgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-64k-6.17Upgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1058-gcpUpgrade linux-image-6.8.0-1054-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1024-nvidia-tegraUpgrade linux-image-raspi-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-xilinxUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1054-gkeUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-tegraUpgrade linux-image-6.8.0-117-generic-64kUpgrade linux-image-6.8.0-1055-aws-64kUpgrade linux-image-6.8.0-1055-aws-fipsUpgrade linux-image-6.8.0-1054-nvidia-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-genericUpgrade linux-image-gke-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-117-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-117-lowlatency-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1056-azureUpgrade linux-image-oracle-6.17Upgrade linux-image-oracle-64k-6.17Upgrade linux-image-6.8.0-2045-raspi-realtimeUpgrade linux-image-azure-6.17Upgrade linux-image-gcp-fipsUpgrade linux-image-gkeUpgrade linux-image-realtime-6.8.1Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-generic-64kUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-6.17Upgrade linux-image-6.8.0-1055-ibmUpgrade linux-image-virtual-6.8Upgrade linux-image-6.8.1-1051-realtimeUpgrade linux-image-azure-fde-6.17Upgrade linux-image-fipsUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1058-gcp-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-6.8.0-1054-nvidiaUpgrade linux-image-gkeop-6.8Upgrade linux-image-gcp-64k-6.17Upgrade linux-image-lowlatencyUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.17.0-1019-oracle-64kUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1041-gkeopUpgrade linux-image-6.8.0-116-fipsUpgrade linux-image-6.17.0-1030-oemUpgrade linux-image-aws-fipsUpgrade linux-image-raspiUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-64k-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1058-gcp-fipsUpgrade linux-image-generic-lpaeUpgrade linux-image-oracleUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-117-genericUpgrade linux-image-lowlatency-6.8Upgrade linux-image-nvidia-hwe-24.04Upgrade linux-image-lowlatency-64k-6.8 | May 25, 2026 | May 19, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub