Description
In the Linux kernel, the following vulnerability has been resolved:
vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write
A KASAN null-ptr-deref was observed in vcs_notifier():
BUG: KASAN: null-ptr-deref in vcs_notifier+0x98/0x130 Read of size 2 at addr qmp_cmd_name: qmp_capabilities, arguments: {}
The issue is a race condition in vcs_write(). When the console_lock is temporarily dropped (to copy data from userspace), the vc_data pointer obtained from vcs_vc() may become stale. After re-acquiring the lock, vcs_vc() is called again to re-validate the pointer. If the vc has been deallocated in the meantime, vcs_vc() returns NULL, and the while loop breaks (with written > 0). However, after the loop, vcs_scr_updated(vc) is still called with the now-NULL vc pointer, leading to a null pointer dereference in the notifier chain (vcs_notifier dereferences param->vc).
Fix this by adding a NULL check for vc before calling vcs_scr_updated().
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 11dddfbb7a4e62489b01074d6c04d9d1b42e4047, < 43a6281790273c1b0a9ab76609ff0245b968f1e6; >= e3d1adcad5b73c7ed0c7edb35ab68abcaa45cf67, < b6bbb85cf45bf0b070e741997fe0af3a772c5ad5; >= 3338d0b9acde770ee588eead5cac32c25e7048fc, < ff4806202749a51938236214adc0281481a57366; >= 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357, < 8232fca738011ca2ec865b46ec721d1796dc0580; >= 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357, < 73049768ad57145acd337102c5aa3c788e6642c8; >= 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357, < 7cc3dd79777f6ae4625ec37e84dd18a26dc88bde; >= 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357, < 74be188eb2dc1c99d63986167b9a67d415fe7326; >= 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357, < 09a43e81279b8da15526da09877134b8bcf618b0; >= 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357, < a287620312dc6dcb9a093417a0e589bf30fcf38a; 934de9a9b659785fed3e820bc0c813a460c71fea; 0deff678157333d775af190f84696336cdcccd6d; a4e3c4c65ae8510e01352c9a4347e05c035b2ce2; 1de42e7653d6714a7507ba6696151a1fa028c69f; >= 5.10.181, < 5.10.260; >= 5.15.113, < 5.15.211; >= 6.1.30, < 6.1.177; >= 4.14.327, < 4.15; >= 4.19.284, < 4.20; >= 5.4.244, < 5.5; >= 6.3.4, < 6.4 |
| Linux | Linux | 6.4 |
References
- https://git.kernel.org/stable/c/09a43e81279b8da15526da09877134b8bcf618b0Patch
- https://git.kernel.org/stable/c/43a6281790273c1b0a9ab76609ff0245b968f1e6Patch
- https://git.kernel.org/stable/c/73049768ad57145acd337102c5aa3c788e6642c8Patch
- https://git.kernel.org/stable/c/74be188eb2dc1c99d63986167b9a67d415fe7326Patch
- https://git.kernel.org/stable/c/7cc3dd79777f6ae4625ec37e84dd18a26dc88bdePatch
- https://git.kernel.org/stable/c/8232fca738011ca2ec865b46ec721d1796dc0580Patch
- https://git.kernel.org/stable/c/a287620312dc6dcb9a093417a0e589bf30fcf38aPatch
- https://git.kernel.org/stable/c/b6bbb85cf45bf0b070e741997fe0af3a772c5ad5Patch
- https://git.kernel.org/stable/c/ff4806202749a51938236214adc0281481a57366Patch
Timeline
- Published
- Jul 19, 2026
- Last modified
- Nov 6, 2026
- NVD status
- Analyzed