CVE-2023-54045: audit: fix possible soft lockup in __audit_inode_child()
In the Linux kernel, the following vulnerability has been resolved:
audit: fix possible soft lockup in __audit_inode_child()
Tracefs or debugfs maybe cause hundreds to thousands of PATH records,
too many PATH records maybe cause soft lockup.
For example:
1. CONFIG_KASAN=y && CONFIG_PREEMPTION=n
2. auditctl -a exit,always -S open -k key
3. sysctl -w kernel.watchdog_thresh=5
4. mkdir /sys/kernel/debug/tracing/instances/test
There may be a soft lockup as follows:
watchdog: BUG: soft lockup - CPU#45 stuck for 7s! [mkdir:15498]
Kernel panic - not syncing: softlockup: hung tasks
Call trace:
dump_backtrace+0x0/0x30c
show_stack+0x20/0x30
dump_stack+0x11c/0x174
panic+0x27c/0x494
watchdog_timer_fn+0x2bc/0x390
__run_hrtimer+0x148/0x4fc
__hrtimer_run_queues+0x154/0x210
hrtimer_interrupt+0x2c4/0x760
arch_timer_handler_phys+0x48/0x60
handle_percpu_devid_irq+0xe0/0x340
__handle_domain_irq+0xbc/0x130
gic_handle_irq+0x78/0x460
el1_irq+0xb8/0x140
__audit_inode_child+0x240/0x7bc
tracefs_create_file+0x1b8/0x2a0
trace_create_file+0x18/0x50
event_create_dir+0x204/0x30c
__trace_add_new_event+0xac/0x100
event_trace_add_tracer+0xa0/0x130
trace_array_create_dir+0x60/0x140
trace_array_create+0x1e0/0x370
instance_mkdir+0x90/0xd0
tracefs_syscall_mkdir+0x68/0xa0
vfs_mkdir+0x21c/0x34c
do_mkdirat+0x1b4/0x1d4
__arm64_sys_mkdirat+0x4c/0x60
el0_svc_common.constprop.0+0xa8/0x240
do_el0_svc+0x8c/0xc0
el0_svc+0x20/0x30
el0_sync_handler+0xb0/0xb4
el0_sync+0x160/0x180
Therefore, we add cond_resched() to __audit_inode_child() to fix it.
Security readout for executives and security teams
Plain-English summary
CVE-2023-54045 is a Linux kernel audit bug that can make a CPU appear stuck while processing excessive audit PATH records from tracefs or debugfs activity. In the demonstrated case, this led to a kernel panic. The main business risk is local availability impact, not data theft or remote compromise.
Executive priority
Treat as a kernel availability issue for Linux fleets, especially systems where downtime is costly. Prioritize normal kernel patch cycles unless internal evidence shows reachable debugfs or tracefs access by less-trusted users or repeated soft lockups.
Technical view
The issue is in __audit_inode_child(), where large numbers of PATH records from tracefs/debugfs can keep the kernel from rescheduling promptly. Stable fixes add cond_resched() so long processing yields CPU time. Sources list Linux kernel versions including 3.3 through 6.6 as affected and provide multiple stable commit references.
Likely exposure
Exposure is most likely on Linux systems running affected kernel versions with audit enabled and tracefs or debugfs operations available. The source example uses KASAN enabled and preemption disabled, but the record does not fully define all required conditions or privilege requirements.
Exploitation context
No active exploitation is reported in the supplied sources, and the CVE is not listed as KEV. The public description demonstrates a local sequence causing soft lockup, but this analysis does not treat that as evidence of exploitation in the wild.
Researcher notes
The source record lacks CVSS, CWE, and full prerequisite detail. It names the vulnerable function, impact pattern, affected version range, and stable commits. Avoid assuming remote reachability, privilege boundary impact, or exploit maturity without additional vendor evidence.
Mitigation direction
Update to a Linux kernel containing the referenced stable fix commits.
Check your Linux distribution security advisories for the exact backported kernel package.
Restrict debugfs and tracefs access to trusted administrators where operationally feasible.
Review audit rules that may generate excessive PATH records on sensitive systems.
Validation and detection
Inventory kernel versions across Linux servers and appliances.
Confirm whether vendor kernels include the audit cond_resched() fix.
Check whether audit, tracefs, or debugfs are enabled on exposed hosts.
Review logs for soft lockup or kernel panic messages involving __audit_inode_child().
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-54045 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
10Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Dec 24, 2025, 12:22 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.