Cloudanix VulnDB

CVE-2025-37938

None

CVSS

—

EPSS

0.2%

Published

May 20, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the Linux kernel's logging format checker could let attackers crash servers or gain elevated access on many older Ubuntu systems until they are updated.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Theoretical
Impact
Denial Of Service
Component
OS kernel
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The trace event format verifier skips checks on "%*p.." specifiers, allowing event formats that reference freed memory to pass validation and trigger use-after-free reads during tracing.

Why it matters to the business

Unpatched systems on affected Ubuntu releases may experience kernel crashes during tracing or module load, leading to downtime and potential privilege escalation in environments running older kernels; high downstream prevalence across Ubuntu LTS lines increases exposure for organizations still on 14.04/16.04/18.04/20.04 variants.

How an attack unfolds

An attacker with the ability to load a malicious or specially crafted trace event module triggers the verifier at module load; because the "%*p.." case is ignored, an unsafe pointer format reaches runtime, dereferencing freed memory and causing a crash or controlled read that can be chained into privilege escalation by threat actors observed exploiting similar Linux kernel issues.

How to fix it

Upgrade each affected package to the listed fixed version: linux (14.04) to 3.11.0-12.19, linux-aws (14.04) to 4.4.0-1002.2, linux-azure (14.04) to 4.15.0-1023.24~14.04.1, linux-lts-xenial (14.04) to 4.4.0-13.29~14.04.1, linux (16.04) to 4.4.0-2.16, linux-aws (16.04) to 4.4.0-1001.10, linux-azure (16.04) to 4.11.0-1009.9, linux-gcp (16.04) to 4.10.0-1004.4, linux-hwe (16.04) to 4.8.0-39.42~16.04.1, linux-kvm (16.04) to 4.4.0-1004.9, linux-aws-hwe (16.04) to 4.15.0-1030.31~16.04.1, linux-oracle (16.04) to 4.15.0-1007.9~16.04.1, linux (18.04) to 4.13.0-16.19, linux-aws (18.04) to 4.15.0-1001.1, linux-kvm (18.04) to 4.15.0-1002.2, linux-oracle (18.04) to 4.15.0-1007.9, linux-hwe-edge (18.04) to 5.0.0-15.16~18.04.1, linux (20.04) to 5.4.0-9.12, linux-aws (20.04) to 5.4.0-1005.5; reboot after upgrade and verify the new kernel is running.

How to confirm the fix worked

After patching, confirm the running kernel version matches one of the fixed releases above; trigger trace event loading and verify no verifier warnings or crashes occur for formats containing "%*p.."; re-run the trace event verifier logic manually if possible.

Typical attack path

  1. Identify or load a trace event using a print format containing "%*p.." specifier
  2. Verifier at boot or module load skips safety checks for the format
  3. Event triggers and dereferences a pointer to memory freed after allocation
  4. Resulting use-after-free read produces kernel panic or information leak usable for further exploitation

How to detect it

Review kernel logs (dmesg, /var/log/kern.log) around boot and module load times for oops or panic messages referencing trace event formats or use-after-free reads; look for unexpected crashes coinciding with trace event registration in environments using custom trace modules.

What your security team should do

  • Prioritize patching of internet-facing or high-value systems on the listed Ubuntu releases within the next maintenance window
  • Inventory all systems still running the affected kernel packages and schedule upgrades before any tracing or debugging workloads
  • Monitor EPSS trend and threat actor activity around similar Linux kernel issues for potential increase in exploit maturity
  • Disable unnecessary tracing features on legacy kernels until patches can be applied

The record

In the Linux kernel, the following vulnerability has been resolved: tracing: Verify event formats that have "%*p.." The trace event verifier checks the formats of trace events to make sure that they do not point at memory that is not in the trace event itself or in data that will never be freed. If an event references data that was allocated when the event triggered and that same data is freed before the event is read, then the kernel can crash by reading freed memory. The verifier runs at boot up (or module load) and scans the print formats of the events and checks their arguments to make sure that dereferenced pointers are safe. If the format uses "%*p.." the verifier will ignore it, and that could be dangerous. Cover this case as well. Also add to the sample code a use case of "%*pbl".

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux-6.1 0 6.1.137-1~deb11u1
Debian:12 linux 0 6.1.137-1
Debian:13 linux 0 6.12.27-1
Linux Kernel 5.13.0 6.1.136
Mageia:9 dwarves 0 1.30-1.mga9
Mageia:9 kernel 0 6.6.93-1.mga9
Mageia:9 kernel-firmware 0 20250509-1.mga9
Mageia:9 kernel-firmware-nonfree 0 20250509-1.mga9.nonfree
Mageia:9 kernel-linus 0 6.6.93-1.mga9
Mageia:9 kmod-virtualbox 0 7.1.8-3.mga9
Mageia:9 kmod-xtables-addons 0 3.24-80.mga9
Mageia:9 libtraceevent 0 1.8.4-1.mga9
Mageia:9 libtracefs 0 1.8.2-1.mga9
Mageia:9 radeon-firmware 0 20250509-1.mga9.nonfree
Mageia:9 wireless-regdb 0 20250220-1.mga9
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.60.5
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.60.5
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_13 0 1-150600.1.5.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_13 0 1-150600.13.6.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.60.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.60.5
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.60.5.150600.12.26.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.60.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.60.4
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.28.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.28.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.28.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.28.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.60.3
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.60.3
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.60.4
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.60.4
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.60.5
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.43.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.43.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.43.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.60.5
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.44.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.44.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.44.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.44.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.60.3
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.60.4
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.43.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.60.4
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.60.5
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.60.5.150600.12.26.4
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.60.3
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.60.4
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.60.3
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.60.2
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.44.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.44.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.60.4
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.43.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.44.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.60.4
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.43.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.44.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.60.4

Related vulnerabilities