Skip to content
OpenAdvisories
High · 7.8 CVE-2023-52973 EUVD-2023-59747GHSA-34qc-h2vp-hq88

vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF

Published Mar 27, 2025 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-tegra-5.15 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

Affected products

VendorProductAffectedFixed
Linux Linux 2.6.38 4.14.329

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.1.11-1 —
Debian 13 linux 6.1.11-1 —
Debian 12 linux 6.1.11-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1017.19 —
Ubuntu 24.04 LTS linux-realtime +1 No fix yet —
Ubuntu 22.04 LTS linux +1 5.15.0-72.79 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1036.40 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1038.45 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1038.45.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1034.42 —
Ubuntu 22.04 LTS linux-gke +1 5.15.0-1033.38 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1020.25 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1030.33 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1030.35 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1025.25 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1035.41 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1029.31 —
Ubuntu 22.04 LTS linux-riscv +31 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-149.166 —
Ubuntu 20.04 LTS linux-aws 5.4.0-1102.110 —
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1036.40~20.04.1 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1108.114 —
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1038.45~20.04.1 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1064.70 —
Ubuntu 20.04 LTS linux-gcp 5.4.0-1105.114 —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1034.42~20.04.1 —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-72.79~20.04.1 —
Ubuntu 20.04 LTS linux-ibm 5.4.0-1049.54 —
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1030.35~20.04.1 —
Ubuntu 20.04 LTS linux-iot 5.4.0-1017.18 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1091.97 —
Ubuntu 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1014.14~20.04.1 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1101.110 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1035.41~20.04.1 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1085.96 —
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1033.37~20.04.1 —
Ubuntu 20.04 LTS linux-xilinx-zynqmp 5.4.0-1024.28 —
Ubuntu 18.04 LTS linux 4.15.0-211.222 —
Ubuntu 18.04 LTS linux-aws 4.15.0-1156.169 —
Ubuntu 18.04 LTS linux-aws-5.4 5.4.0-1103.111~18.04.1 —
Ubuntu 18.04 LTS linux-azure-4.15 4.15.0-1165.180 —
Ubuntu 18.04 LTS linux-azure-5.4 5.4.0-1108.114~18.04.1 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 18.04 LTS linux-gcp-4.15 4.15.0-1150.166 —
Ubuntu 18.04 LTS linux-gcp-5.4 5.4.0-1105.114~18.04.1 —
Ubuntu 18.04 LTS linux-hwe-5.4 5.4.0-149.166~18.04.1 —
Ubuntu 18.04 LTS linux-ibm-5.4 5.4.0-1049.54~18.04.1 —
Ubuntu 18.04 LTS linux-kvm 4.15.0-1140.145 —
Ubuntu 18.04 LTS linux-oracle 4.15.0-1119.130 —
Ubuntu 18.04 LTS linux-oracle-5.4 5.4.0-1101.110~18.04.1 —
Ubuntu 18.04 LTS linux-raspi-5.4 5.4.0-1085.96~18.04.1 —
Show 10 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1028.33 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1038.41 —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1102.110+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1108.114+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1077.86 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1105.114+fips1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2095.101 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2074.80 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1111.122 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2058.63 —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips 4.4.0-1092.99 —
Ubuntu Pro 16.04 LTS linux 4.4.0-244.278 —
Ubuntu Pro 16.04 LTS linux-aws 4.4.0-1160.175 —
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1156.169~16.04.1 —
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1165.180~16.04.1 —
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1150.166~16.04.1 —
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-211.222~16.04.1 —
Ubuntu Pro 16.04 LTS linux-kvm 4.4.0-1123.133 —
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1119.130~16.04.1 —
Ubuntu Pro 14.04 LTS linux 3.13.0-193.244 —
Ubuntu Pro 14.04 LTS linux-aws 4.4.0-1122.128 —
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1165.180~14.04.1 —
Ubuntu Pro 14.04 LTS linux-lts-xenial 4.4.0-244.278~14.04.1 —
ReleasePackageFixed inAdvisory
RHEL 9 bpftool 7.3.0-427.13.1.el9_4 RHSA-2024:2394
RHEL 9 rv +64 5.14.0-427.13.1.el9_4 RHSA-2024:2394
RHEL 8 perf +26 4.18.0-553.el8_10 RHSA-2024:3138
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 9.2 EUS bpftool 7.0.0-284.48.1.el9_2 RHSA-2024:0448
RHEL 9.2 EUS kernel-rt +14 5.14.0-284.48.1.rt14.333.el9_2 RHSA-2024:0439
RHEL 9.2 EUS perf +48 5.14.0-284.48.1.el9_2 RHSA-2024:0448
RHEL 8.8 EUS perf +26 4.18.0-477.43.1.el8_8 RHSA-2024:0575

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 8 kernel 4.18.0-553.123.1.el8_10.cloud.0.1 RXSA-2024:3138
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLES 15 SP4 kernel-64kb +6 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.161.1.150400.24.80.1 SUSE-SU-2025:1195-1
SLES 15 SP3 kernel-64kb +7 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLES 12 SP5 kernel-syms +2 4.12.14-122.255.1 SUSE-SU-2025:1293-1
SLES 11 SP4 kernel-ec2 +5 3.0.101-108.183.1 SUSE-SU-2025:02099-1
Show 18 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLES for SAP 15 SP5 kernel-docs +4 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.161.1.150400.24.80.1 SUSE-SU-2025:1195-1
SLES for SAP 15 SP4 kernel-docs +4 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLES for SAP 15 SP3 kernel-docs +5 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.91.1 SUSE-SU-2025:1176-1
SLE Micro 5.5 kernel-source +1 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.161.1.150400.24.80.1 SUSE-SU-2025:1195-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.115.1 SUSE-SU-2025:1183-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.161.1.150400.24.80.1 SUSE-SU-2025:1195-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.115.1 SUSE-SU-2025:1183-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.205.1 SUSE-SU-2025:1194-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.205.1 SUSE-SU-2025:1194-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_25 1-150500.11.3.1 SUSE-SU-2025:1241-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_39 1-150400.9.3.1 SUSE-SU-2025:1195-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_56 1-150300.7.3.1 SUSE-SU-2025:1263-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.255.1 SUSE-SU-2025:1293-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_67 1-8.5.1 SUSE-SU-2025:1293-1
SLE HPC 15 SP5 kernel-64kb +5 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLE HPC 15 SP5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLE HPC 15 SP4 kernel-64kb +5 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.161.1.150400.24.80.1 SUSE-SU-2025:1195-1
SLE HPC 15 SP3 kernel-64kb +6 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.161.1.150400.24.80.1 SUSE-SU-2025:1195-1
SUSE Manager Server 4.3 kernel-syms +3 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.161.1.150400.24.80.1 SUSE-SU-2025:1195-1
SUSE Manager Proxy 4.3 kernel-syms +2 5.14.21-150400.24.161.1 SUSE-SU-2025:1195-1
SUSE Enterprise Storage 7.1 kernel-64kb +6 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.1.12-17.42 1.0-0.amzn2023 ALAS2023-2023-132
Amazon Linux 2023 perf +12 6.1.12-17.42.amzn2023 ALAS2023-2023-132
Amazon Linux 2 kernel-livepatch-4.14.330-250.540 1.0-0.amzn2 ALAS2-2025-2834
Amazon Linux 2 perf +8 4.14.330-250.540.amzn2 ALAS2-2025-2834

Advisories 17

References