audit: fix possible soft lockup in __audit_inode_child() (Linux Linux)

CVE-2023-54045
Not available

At a glance

Source
NVD
EPSS
EPSS 0.28 % · percentile 21 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Deferred

Description

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.

References

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected 5195d8e217a78697152d64fc09a16e063a022465 < d061e2bfc20f2914656385816e0d20566213c54c ; affected 5195d8e217a78697152d64fc09a16e063a022465 < 1640c7bd4eddec6c72f3a99cbb74e333a2ce9f5d ; affected 5195d8e217a78697152d64fc09a16e063a022465 < f6364fa751d7486502c777f124a14d4d543fc5eb ; affected 5195d8e217a78697152d64fc09a16e063a022465 < 98ef243d5900d75a64539a2165745bffbb155d43 ; affected 5195d8e217a78697152d64fc09a16e063a022465 < 0152e7758cc4e9f8bfba8dbea4438d8e488d6c08 ; affected 5195d8e217a78697152d64fc09a16e063a022465 < 9ca08adb75fb40a8f742c371927ee73f9dc753bf
Linux · Linuxaffected 3.3 ; unaffected 0 < 3.3 ; unaffected 4.14.326 ≤ 4.14.* ; unaffected 4.19.295 ≤ 4.19.* ; unaffected 5.4.257 ≤ 5.4.* ; unaffected 5.10.195 ≤ 5.10.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD