CVE-2024-36478: null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues'
In the Linux kernel, the following vulnerability has been resolved:
nullblk: fix null-ptr-dereference while configuring 'power' and 'submitqueues'
Writing 'power' and 'submitqueues' concurrently will trigger kernel panic:
Test script:
modprobe nullblk nrdevices=0 mkdir -p /sys/kernel/config/nullb/nullb0 while true; do echo 1 > submitqueues; echo 4 > submitqueues; done & while true; do echo 1 > power; echo 0 > power; done
Test result:
BUG: kernel NULL pointer dereference, address: 0000000000000148 Oops: 0000 [#1] PREEMPT SMP RIP: 0010:lockacquire+0x41d/0x28f0 Call Trace: <TASK> lockacquire+0x121/0x450 downwrite+0x5f/0x1d0 simplerecursiveremoval+0x12f/0x5c0 blkmqdebugfsunregisterhctxs+0x7c/0x100 blkmqupdatenrhwqueues+0x4a3/0x720 nullbupdatenrhwqueues+0x71/0xf0 [nullblk] nullbdevicesubmitqueuesstore+0x79/0xf0 [nullblk] configfswriteiter+0x119/0x1e0 vfswrite+0x326/0x730 ksyswrite+0x74/0x150
This is because delgendisk() can concurrent with blkmqupdatenrhwqueues():
nullbdevicepowerstore nullbapplysubmitqueues nulldeldev delgendisk nullbupdatenrhwqueues if (!dev->nullb) // still set while gendisk is deleted return 0 blkmqupdatenrhwqueues dev->nullb = NULL
Fix this problem by resuing the global mutex to protect nullbdevicepowerstore() and nullbupdatenrhwqueues() from configfs.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-36478?
CVE-2024-36478 has been classified as a critical vulnerability due to its potential to trigger a kernel panic.
How do I fix CVE-2024-36478?
To remediate CVE-2024-36478, update the Linux kernel to version 6.1.123-1, 6.1.128-1, 6.12.12-1, or 6.12.13-1.
Which versions of the Linux kernel are affected by CVE-2024-36478?
CVE-2024-36478 affects versions of the Linux kernel between 5.5 and 6.9.4.
What conditions trigger the CVE-2024-36478 vulnerability?
The CVE-2024-36478 vulnerability can be triggered when 'power' and 'submit_queues' are written concurrently.
Is there a specific distribution affected by CVE-2024-36478?
Yes, Debian-based distributions are affected, particularly those using kernel versions up to 5.10.226-1.