{"id":"CVE-2023-53747","title":"vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nvc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF\n\nAfter a call to console_unlock() in vcs_write() the vc_data struct can be\nfreed by vc_port…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 934de9a9b659785fed3e820bc0c813a460c71fea","Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 0deff678157333d775af190f84696336cdcccd6d","Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < a4e3c4c65ae8510e01352c9a4347e05c035b2ce2","Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 11dddfbb7a4e62489b01074d6c04d9d1b42e4047","Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < e3d1adcad5b73c7ed0c7edb35ab68abcaa45cf67","Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 3338d0b9acde770ee588eead5cac32c25e7048fc","Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 1de42e7653d6714a7507ba6696151a1fa028c69f","Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357","Linux 2.6.38"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-15T21:36:57.834897Z"},"published":"2025-12-08","updated":"2026-10-15","sourceUpdated":"2026-10-15T21:41:35.219Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2023-53747","references":[{"url":"https://git.kernel.org/stable/c/934de9a9b659785fed3e820bc0c813a460c71fea"},{"url":"https://git.kernel.org/stable/c/0deff678157333d775af190f84696336cdcccd6d"},{"url":"https://git.kernel.org/stable/c/a4e3c4c65ae8510e01352c9a4347e05c035b2ce2"},{"url":"https://git.kernel.org/stable/c/11dddfbb7a4e62489b01074d6c04d9d1b42e4047"},{"url":"https://git.kernel.org/stable/c/e3d1adcad5b73c7ed0c7edb35ab68abcaa45cf67"},{"url":"https://git.kernel.org/stable/c/3338d0b9acde770ee588eead5cac32c25e7048fc"},{"url":"https://git.kernel.org/stable/c/1de42e7653d6714a7507ba6696151a1fa028c69f"},{"url":"https://git.kernel.org/stable/c/8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357"}],"tags":["cve.org"],"epss":0.00139,"epssPercentile":0.02919,"ingestedAt":"2026-10-15T22:48:25.418Z","slug":"CVE-2023-53747","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nvc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF\n\nAfter a call to console_unlock() in vcs_write() the vc_data struct can be\nfreed by vc_port_destruct(). Because of that, the struct vc_data pointer\nmust be reloaded in the while loop in vcs_write() after console_lock() to\navoid a UAF when vcs_size() is called.\n\nSyzkaller reported a UAF in vcs_size().\n\nBUG: KASAN: slab-use-after-free in vcs_size (drivers/tty/vt/vc_screen.c:215)\nRead of size 4 at addr ffff8880beab89a8 by task repro_vcs_size/4119\n\nCall Trace:\n <TASK>\n__asan_report_load4_noabort (mm/kasan/report_generic.c:380)\nvcs_size (drivers/tty/vt/vc_screen.c:215)\nvcs_write (drivers/tty/vt/vc_screen.c:664)\nvfs_write (fs/read_write.c:582 fs/read_write.c:564)\n...\n <TASK>\n\nAllocated by task 1213:\nkmalloc_trace (mm/slab_common.c:1064)\nvc_allocate (./include/linux/slab.h:559 ./include/linux/slab.h:680\n    drivers/tty/vt/vt.c:1078 drivers/tty/vt/vt.c:1058)\ncon_install (drivers/tty/vt/vt.c:3334)\ntty_init_dev (drivers/tty/tty_io.c:1303 drivers/tty/tty_io.c:1415\n    drivers/tty/tty_io.c:1392)\ntty_open (drivers/tty/tty_io.c:2082 drivers/tty/tty_io.c:2128)\nchrdev_open (fs/char_dev.c:415)\ndo_dentry_open (fs/open.c:921)\nvfs_open (fs/open.c:1052)\n...\n\nFreed by task 4116:\nkfree (mm/slab_common.c:1016)\nvc_port_destruct (drivers/tty/vt/vt.c:1044)\ntty_port_destructor (drivers/tty/tty_port.c:296)\ntty_port_put (drivers/tty/tty_port.c:312)\nvt_disallocate_all (drivers/tty/vt/vt_ioctl.c:662 (discriminator 2))\nvt_ioctl (drivers/tty/vt/vt_ioctl.c:903)\ntty_ioctl (drivers/tty/tty_io.c:2778)\n...\n\nThe buggy address belongs to the object at ffff8880beab8800\n which belongs to the cache kmalloc-1k of size 1024\nThe buggy address is located 424 bytes inside of\n freed 1024-byte region [ffff8880beab8800, ffff8880beab8c00)\n\nThe buggy address belongs to the physical page:\npage:00000000afc77580 refcount:1 mapcount:0 mapping:0000000000000000\n    index:0x0 pfn:0xbeab8\nhead:00000000afc77580 order:3 entire_mapcount:0 nr_pages_mapped:0\n    pincount:0\nflags: 0xfffffc0010200(slab|head|node=0|zone=1|lastcpupid=0x1fffff)\npage_type: 0xffffffff()\nraw: 000fffffc0010200 ffff888100042dc0 ffffea000426de00 dead000000000002\nraw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000\npage dumped because: kasan: bad access detected\n\nMemory state around the buggy address:\n ffff8880beab8880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb\n ffff8880beab8900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb\n>ffff8880beab8980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb\n                                  ^\n ffff8880beab8a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb\n ffff8880beab8a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb\n==================================================================\nDisabling lock debugging due to kernel taint\n\n## Affected\n\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 934de9a9b659785fed3e820bc0c813a460c71fea`\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 0deff678157333d775af190f84696336cdcccd6d`\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < a4e3c4c65ae8510e01352c9a4347e05c035b2ce2`\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 11dddfbb7a4e62489b01074d6c04d9d1b42e4047`\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < e3d1adcad5b73c7ed0c7edb35ab68abcaa45cf67`\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 3338d0b9acde770ee588eead5cac32c25e7048fc`\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 1de42e7653d6714a7507ba6696151a1fa028c69f`\n- `Linux >= ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff < 8fb9ea65c9d1338b0d2bb0a9122dc942cdd32357`\n- `Linux 2.6.38`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}