{"id":"CVE-2026-53385","state":"PUBLISHED","title":"vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nvc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write\n\nA KASAN null-ptr-deref was observed in vcs_notifier():\n\nBUG: KASAN: null-ptr-deref in vcs_notifier+0x98/0x130\nRead of size 2 at addr qmp_cmd_name: qmp_capabilities, arguments: {}\n\nThe issue is a race condition in vcs_write(). When the console_lock is\ntemporarily dropped (to copy data from userspace), the vc_data pointer\nobtained from vcs_vc() may become stale. After re-acquiring the lock,\nvcs_vc() is called again to re-validate the pointer. If the vc has been\ndeallocated in the meantime, vcs_vc() returns NULL, and the while loop\nbreaks (with written > 0). However, after the loop, vcs_scr_updated(vc)\nis still called with the now-NULL vc pointer, leading to a null pointer\ndereference in the notifier chain (vcs_notifier dereferences param->vc).\n\nFix this by adding a NULL check for vc before calling vcs_scr_updated().","publishedAt":"2026-07-19T11:59:32.732Z","updatedAt":"2026-08-17T04:50:36.006Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"11dddfbb7a4e62489b01074d6c04d9d1b42e4047","status":"affected","lessThan":"43a6281790273c1b0a9ab76609ff0245b968f1e6","versionType":"git"},{"version":"e3d1adcad5b73c7ed0c7edb35ab68abcaa45cf67","status":"affected","lessThan":"b6bbb85cf45bf0b070e741997fe0af3a772c5ad5","versionType":"git"},{"version":"3338d0b9acde770ee588eead5cac32c25e7048fc","status":"affected","lessThan":"ff4806202749a51938236214adc0281481a57366","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"8232fca738011ca2ec865b46ec721d1796dc0580","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"73049768ad57145acd337102c5aa3c788e6642c8","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"7cc3dd79777f6ae4625ec37e84dd18a26dc88bde","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"74be188eb2dc1c99d63986167b9a67d415fe7326","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"09a43e81279b8da15526da09877134b8bcf618b0","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"a287620312dc6dcb9a093417a0e589bf30fcf38a","versionType":"git"},{"version":"934de9a9b659785fed3e820bc0c813a460c71fea","status":"affected","versionType":"git"},{"version":"0deff678157333d775af190f84696336cdcccd6d","status":"affected","versionType":"git"},{"version":"a4e3c4c65ae8510e01352c9a4347e05c035b2ce2","status":"affected","versionType":"git"},{"version":"1de42e7653d6714a7507ba6696151a1fa028c69f","status":"affected","versionType":"git"},{"version":"5.10.181","status":"affected","lessThan":"5.10.260","versionType":"semver"},{"version":"5.15.113","status":"affected","lessThan":"5.15.211","versionType":"semver"},{"version":"6.1.30","status":"affected","lessThan":"6.1.177","versionType":"semver"},{"version":"4.14.327","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.284","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.244","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"6.3.4","status":"affected","lessThan":"6.4","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/vt/vc_screen.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.4","versionType":"semver"},{"version":"5.10.260","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.211","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.177","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.144","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.95","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.37","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.14","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1.2","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/vt/vc_screen.c"]}],"references":["https://git.kernel.org/stable/c/43a6281790273c1b0a9ab76609ff0245b968f1e6","https://git.kernel.org/stable/c/b6bbb85cf45bf0b070e741997fe0af3a772c5ad5","https://git.kernel.org/stable/c/ff4806202749a51938236214adc0281481a57366","https://git.kernel.org/stable/c/8232fca738011ca2ec865b46ec721d1796dc0580","https://git.kernel.org/stable/c/73049768ad57145acd337102c5aa3c788e6642c8","https://git.kernel.org/stable/c/7cc3dd79777f6ae4625ec37e84dd18a26dc88bde","https://git.kernel.org/stable/c/74be188eb2dc1c99d63986167b9a67d415fe7326","https://git.kernel.org/stable/c/09a43e81279b8da15526da09877134b8bcf618b0","https://git.kernel.org/stable/c/a287620312dc6dcb9a093417a0e589bf30fcf38a"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:16.098Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/53xxx/CVE-2026-53385.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53385","state":"PUBLISHED","datePublished":"2026-07-19T11:59:32.732Z","dateUpdated":"2026-08-17T04:50:36.006Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-06-09T07:44:35.401Z"},"containers":{"cna":{"title":"vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nvc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write\n\nA KASAN null-ptr-deref was observed in vcs_notifier():\n\nBUG: KASAN: null-ptr-deref in vcs_notifier+0x98/0x130\nRead of size 2 at addr qmp_cmd_name: qmp_capabilities, arguments: {}\n\nThe issue is a race condition in vcs_write(). When the console_lock is\ntemporarily dropped (to copy data from userspace), the vc_data pointer\nobtained from vcs_vc() may become stale. After re-acquiring the lock,\nvcs_vc() is called again to re-validate the pointer. If the vc has been\ndeallocated in the meantime, vcs_vc() returns NULL, and the while loop\nbreaks (with written > 0). However, after the loop, vcs_scr_updated(vc)\nis still called with the now-NULL vc pointer, leading to a null pointer\ndereference in the notifier chain (vcs_notifier dereferences param->vc).\n\nFix this by adding a NULL check for vc before calling vcs_scr_updated()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"11dddfbb7a4e62489b01074d6c04d9d1b42e4047","status":"affected","lessThan":"43a6281790273c1b0a9ab76609ff0245b968f1e6","versionType":"git"},{"version":"e3d1adcad5b73c7ed0c7edb35ab68abcaa45cf67","status":"affected","lessThan":"b6bbb85cf45bf0b070e741997fe0af3a772c5ad5","versionType":"git"},{"version":"3338d0b9acde770ee588eead5cac32c25e7048fc","status":"affected","lessThan":"ff4806202749a51938236214adc0281481a57366","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"8232fca738011ca2ec865b46ec721d1796dc0580","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"73049768ad57145acd337102c5aa3c788e6642c8","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"7cc3dd79777f6ae4625ec37e84dd18a26dc88bde","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"74be188eb2dc1c99d63986167b9a67d415fe7326","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"09a43e81279b8da15526da09877134b8bcf618b0","versionType":"git"},{"version":"8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","status":"affected","lessThan":"a287620312dc6dcb9a093417a0e589bf30fcf38a","versionType":"git"},{"version":"934de9a9b659785fed3e820bc0c813a460c71fea","status":"affected","versionType":"git"},{"version":"0deff678157333d775af190f84696336cdcccd6d","status":"affected","versionType":"git"},{"version":"a4e3c4c65ae8510e01352c9a4347e05c035b2ce2","status":"affected","versionType":"git"},{"version":"1de42e7653d6714a7507ba6696151a1fa028c69f","status":"affected","versionType":"git"},{"version":"5.10.181","status":"affected","lessThan":"5.10.260","versionType":"semver"},{"version":"5.15.113","status":"affected","lessThan":"5.15.211","versionType":"semver"},{"version":"6.1.30","status":"affected","lessThan":"6.1.177","versionType":"semver"},{"version":"4.14.327","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.284","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.244","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"6.3.4","status":"affected","lessThan":"6.4","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/vt/vc_screen.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.4","versionType":"semver"},{"version":"5.10.260","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.211","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.177","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.144","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.95","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.37","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.14","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1.2","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/vt/vc_screen.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/43a6281790273c1b0a9ab76609ff0245b968f1e6"},{"url":"https://git.kernel.org/stable/c/b6bbb85cf45bf0b070e741997fe0af3a772c5ad5"},{"url":"https://git.kernel.org/stable/c/ff4806202749a51938236214adc0281481a57366"},{"url":"https://git.kernel.org/stable/c/8232fca738011ca2ec865b46ec721d1796dc0580"},{"url":"https://git.kernel.org/stable/c/73049768ad57145acd337102c5aa3c788e6642c8"},{"url":"https://git.kernel.org/stable/c/7cc3dd79777f6ae4625ec37e84dd18a26dc88bde"},{"url":"https://git.kernel.org/stable/c/74be188eb2dc1c99d63986167b9a67d415fe7326"},{"url":"https://git.kernel.org/stable/c/09a43e81279b8da15526da09877134b8bcf618b0"},{"url":"https://git.kernel.org/stable/c/a287620312dc6dcb9a093417a0e589bf30fcf38a"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T04:50:36.006Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.181","versionEndExcluding":"5.10.260"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.113","versionEndExcluding":"5.15.211"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.30","versionEndExcluding":"6.1.177"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"6.6.144"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"6.12.95"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"6.18.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"7.0.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"7.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"7.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.327"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.284"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.244"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.3.4"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}