vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 14 fixed, 3 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-416 and the CVSS impact.
Summary
In the Linux kernel, the following vulnerability has been resolved: vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF After a call to console_unlock() in vcs_read() the vc_data struct can be freed by vc_deallocate(). Because of that, the struct vc_data pointer load must be done at the top of while loop in vcs_read() to avoid a UAF when vcs_size() is called. Syzkaller reported a UAF in vcs_size(). BUG: KASAN: use-after-free in vcs_size (drivers/tty/vt/vc_screen.c:215) Read of size 4 at addr ffff8881137479a8 by task 4a005ed81e27e65/1537 CPU: 0 PID: 1537 Comm: 4a005ed81e27e65 Not tainted 6.2.0-rc5 #1 Hardware name: Red Hat KVM, BIOS 1.15.0-2.module Call Trace: <TASK> __asan_report_load4_noabort (mm/kasan/report_generic.c:350) vcs_size (drivers/tty/vt/vc_screen.c:215) vcs_read (drivers/tty/vt/vc_screen.c:415) vfs_read (fs/read_write.c:468 fs/read_write.c:450) ... </TASK> Allocated by task 1191: ... kmalloc_trace (mm/slab_common.c:1069) vc_allocate (./include/linux/slab.h:580 ./include/linux/slab.h:720 drivers/tty/vt/vt.c:1128 drivers/tty/vt/vt.c:1108) con_install (drivers/tty/vt/vt.c:3383) tty_init_dev (drivers/tty/tty_io.c:1301 drivers/tty/tty_io.c:1413 drivers/tty/tty_io.c:1390) tty_open (drivers/tty/tty_io.c:2080 drivers/tty/tty_io.c:2126) chrdev_open (fs/char_dev.c:415) do_dentry_open (fs/open.c:883) vfs_open (fs/open.c:1014) ... Freed by task 1548: ... kfree (mm/slab_common.c:1021) vc_port_destruct (drivers/tty/vt/vt.c:1094) tty_port_destructor (drivers/tty/tty_port.c:296) tty_port_put (drivers/tty/tty_port.c:312) vt_disallocate_all (drivers/tty/vt/vt_ioctl.c:662 (discriminator 2)) vt_ioctl (drivers/tty/vt/vt_ioctl.c:903) tty_ioctl (drivers/tty/tty_io.c:2776) ... The buggy address belongs to the object at ffff888113747800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 424 bytes inside of 1024-byte region [ffff888113747800, ffff888113747c00) The buggy address belongs to the physical page: page:00000000b3fe6c7c refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x113740 head:00000000b3fe6c7c order:3 compound_mapcount:0 subpages_mapcount:0 compound_pincount:0 anon flags: 0x17ffffc0010200(slab|head|node=0|zone=2|lastcpupid=0x1fffff) raw: 0017ffffc0010200 ffff888100042dc0 0000000000000000 dead000000000001 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888113747880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888113747900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb > ffff888113747980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888113747a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888113747a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== Disabling lock debugging due to kernel taint
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 2.6.38 and later | 4.14.329, 4.19.273, 5.4.232, 5.10.168, 5.15.93, 6.1.11, 6.2 | Patch available | CNA |
- Linux VendorLinux Affected 2.6.38 and later Fixed in 4.14.329, 4.19.273, 5.4.232, 5.10.168, 5.15.93, 6.1.11, 6.2 Patch available CNA
CPE configurations NVD · 7
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.38 to before 4.14.329; 4.15 to before 4.19.273; 4.20 to before 5.4.232; 5.5 to before 5.10.168; 5.11 to before 5.15.93; 5.16 to before 6.1.11 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:* | 6.2 rc1 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:* | 6.2 rc2 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:* | 6.2 rc3 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:* | 6.2 rc4 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.2:rc5:*:*:*:*:*:* | 6.2 rc5 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.2:rc6:*:*:*:*:*:* | 6.2 rc6 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 2.6.38 to before 4.14.329; 4.15 to before 4.19.273; 4.20 to before 5.4.232; 5.5 to before 5.10.168; 5.11 to before 5.15.93; 5.16 to before 6.1.11 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:* Versions 6.2 rc1 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:* Versions 6.2 rc2 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:* Versions 6.2 rc3 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:* Versions 6.2 rc4 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.2:rc5:*:*:*:*:*:* Versions 6.2 rc5 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.2:rc6:*:*:*:*:*:* Versions 6.2 rc6 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 4.14.329, 4.19.273, 5.4.232, 5.10.168, 5.15.93, 6.1.11, 6.2
Red Hat 5 advisories
- RHSA-2024:3138 Released 2024-05-22 · Red Hat rating Moderatekernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.el8_10, kernel-4.18.0-553.el8_10, kernel-abi-stablelists-4.18.0-553.el8_10 +19
- Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.el8_10
- RHSA-2024:2394 Released 2024-04-30 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-427.13.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.13.1.el9_4, kernel-64k-devel-5.14.0-427.13.1.el9_4 +11
- Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.3.0-427.13.1.el9_4, kernel-5.14.0-427.13.1.el9_4, kernel-64k-5.14.0-427.13.1.el9_4 +29
- Red Hat Enterprise Linux CRB (v. 9) kernel-tools-libs-devel-5.14.0-427.13.1.el9_4, libperf-5.14.0-427.13.1.el9_4
- Red Hat Enterprise Linux NFV (v. 9) kernel-rt-5.14.0-427.13.1.el9_4, kernel-rt-core-5.14.0-427.13.1.el9_4, kernel-rt-debug-5.14.0-427.13.1.el9_4 +11
- Red Hat Enterprise Linux RT (v. 9) kernel-rt-5.14.0-427.13.1.el9_4, kernel-rt-core-5.14.0-427.13.1.el9_4, kernel-rt-debug-5.14.0-427.13.1.el9_4 +9
- RHSA-2024:0575 Released 2024-01-30 · Red Hat rating Importantkernel security and bug fix update
- Red Hat CodeReady Linux Builder EUS (v.8.8) kernel-tools-libs-devel-4.18.0-477.43.1.el8_8
- Red Hat Enterprise Linux BaseOS EUS (v.8.8) bpftool-4.18.0-477.43.1.el8_8, kernel-4.18.0-477.43.1.el8_8, kernel-abi-stablelists-4.18.0-477.43.1.el8_8 +19
Show 2 more Red Hat advisories
- RHSA-2024:0448 Released 2024-01-25 · Red Hat rating Importantkernel security and bug fix update
- Red Hat CodeReady Linux Builder EUS (v.9.2) kernel-tools-libs-devel-5.14.0-284.48.1.el9_2
- Red Hat Enterprise Linux AppStream EUS (v.9.2) kernel-64k-debug-devel-5.14.0-284.48.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.48.1.el9_2, kernel-64k-devel-5.14.0-284.48.1.el9_2 +10
- Red Hat Enterprise Linux BaseOS EUS (v.9.2) bpftool-7.0.0-284.48.1.el9_2, kernel-5.14.0-284.48.1.el9_2, kernel-64k-5.14.0-284.48.1.el9_2 +29
- RHSA-2024:0439 Released 2024-01-25 · Red Hat rating Importantkernel-rt security update
- Red Hat Enterprise Linux Real Time EUS (v.9.2) kernel-rt-5.14.0-284.48.1.rt14.333.el9_2, kernel-rt-core-5.14.0-284.48.1.rt14.333.el9_2, kernel-rt-debug-5.14.0-284.48.1.rt14.333.el9_2 +9
- Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2) kernel-rt-5.14.0-284.48.1.rt14.333.el9_2, kernel-rt-core-5.14.0-284.48.1.rt14.333.el9_2, kernel-rt-debug-5.14.0-284.48.1.rt14.333.el9_2 +11
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 7 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 8 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat CodeReady Linux Builder EUS (v.8.8) | Fixed | RHSA-2024:0575 |
| Red Hat CodeReady Linux Builder EUS (v.9.2) | Fixed | RHSA-2024:0448 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2024:2394 |
| Red Hat Enterprise Linux AppStream EUS (v.9.2) | Fixed | RHSA-2024:0448 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2024:3138 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2024:2394 |
| Red Hat Enterprise Linux BaseOS EUS (v.8.8) | Fixed | RHSA-2024:0575 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.2) | Fixed | RHSA-2024:0448 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2024:3138 |
| Red Hat Enterprise Linux CRB (v. 9) | Fixed | RHSA-2024:2394 |
| Red Hat Enterprise Linux NFV (v. 9) | Fixed | RHSA-2024:2394 |
| Red Hat Enterprise Linux RT (v. 9) | Fixed | RHSA-2024:2394 |
| Red Hat Enterprise Linux Real Time EUS (v.9.2) | Fixed | RHSA-2024:0439 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2) | Fixed | RHSA-2024:0439 |
Not affected: 2 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
Timeline
- 2026-10-02 Threatist record created from CVE-2023-52973
- 2026-10-03 Alias added: GHSA-34qc-h2vp-hq88
References
Patch 7
- https://git.kernel.org/stable/c/af79ea9a2443016f64d8fd8d72020cc874f0e066
- https://git.kernel.org/stable/c/6332f52f44b9776568bf3c0b714ddfb0bb175e78
- https://git.kernel.org/stable/c/d0332cbf53dad06a22189cc341391237f4ea6d9f
- https://git.kernel.org/stable/c/55515d7d8743b71b80bfe68e89eb9d92630626ab
- https://git.kernel.org/stable/c/fc9e27f3ba083534b8bbf72ab0f5c810ffdc7d18
- https://git.kernel.org/stable/c/8506f16aae9daf354e3732bcfd447e2a97f023df
- https://git.kernel.org/stable/c/226fae124b2dac217ea5436060d623ff3385bc34
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2023-52973 · CVE Program
- CVE-2023-52973 · NVD
- FIRST EPSS
- GHSA-34qc-h2vp-hq88 · GitHub Advisory Database · CC BY 4.0
- CVE-2023-52973 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences