Cloudanix VulnDB

CVE-2025-39829

Medium · 5.5

CVSS

5.5

EPSS

0.2%

Published

Sep 16, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A small bookkeeping mistake in the Linux tracing code can produce warning messages when certain performance-profiling features are turned on more than once.

Exploitation
Other
Attacker needs
None
Complexity
Theoretical
Impact
Other
Component
OS kernel
Class
Other
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Missing unregister_pm_notifier call in the error path of start_graph_tracing leaves the ftrace_suspend_notifier_call registered, causing notifier_chain_register to emit a warning on the next write to function_profile_enabled.

Why it matters to the business

Kernel warning messages appear during repeated use of function profiling, increasing operational noise and complicating troubleshooting on affected Linux systems without introducing direct data loss or service outage.

How an attack unfolds

An unprivileged user writes to the function_profile_enabled sysfs interface; when start_graph_tracing fails, the notifier stays registered; a subsequent write triggers the duplicate-registration warning in the kernel notifier core.

How to fix it

Upgrade affected packages to the listed fixed versions (mah-jong 1.5.6-2 on Debian releases; Linux kernel commit 2a2deb9f8df70480050351ac27041f19bb9e718b or later) and reboot if the running kernel is replaced.

How to confirm the fix worked

Confirm the unregister_pm_notifier call exists in the error path of register_ftrace_graph, then exercise writes to function_profile_enabled and verify absence of the notifier warning.

Typical attack path

  1. Locate and open /sys/kernel/debug/tracing/function_profile_enabled
  2. Write a value that causes start_graph_tracing to fail
  3. Repeat the write to trigger the notifier registration warning

How to detect it

Search kernel logs and dmesg for the exact warning text mentioning ftrace_suspend_notifier_call and notifier_chain_register; correlate timestamps with writes to function_profile_enabled.

  • notifier callback ftrace_suspend_notifier_call already registered
  • WARNING: CPU: .* PID: .* at kernel/notifier.c:23 notifier_chain_register+0x44/0xb0

What your security team should do

  • Apply the kernel or package update within normal change windows given low EPSS and no KEV listing
  • Add the notifier warning string to log monitoring rules for early visibility
  • Review any custom tracing scripts that toggle function_profile_enabled

The record

In the Linux kernel, the following vulnerability has been resolved: trace/fgraph: Fix the warning caused by missing unregister notifier This warning was triggered during testing on v6.16: notifier callback ftrace_suspend_notifier_call already registered WARNING: CPU: 2 PID: 86 at kernel/notifier.c:23 notifier_chain_register+0x44/0xb0 ... Call Trace: <TASK> blocking_notifier_chain_register+0x34/0x60 register_ftrace_graph+0x330/0x410 ftrace_profile_write+0x1e9/0x340 vfs_write+0xf8/0x420 ? filp_flush+0x8a/0xa0 ? filp_close+0x1f/0x30 ? do_dup2+0xaf/0x160 ksys_write+0x65/0xe0 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f When writing to the function_profile_enabled interface, the notifier was not unregistered after start_graph_tracing failed, causing a warning the next time function_profile_enabled was written. Fixed by adding unregister_pm_notifier in the exception path.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 No fix
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:14 linux 0 6.16.5-1
Linux Kernel 2.6.30 6.12.45
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_20 0 1-150600.13.3.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-64kb 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-docs 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-obs-build 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-source 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-syms 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-zfcpdump 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-docs 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-obs-build 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-source 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-syms 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.87.1
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-azure 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.26.1.160000.2.7
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.26.1

Related vulnerabilities