Read the docs
TI-2026-75968 Aliases CVE-2026-98840GHSA-vpw3-5qwq-wxvw

Use-after-free in Linux kernel vc_screen write path

Priority LOW 22Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Partial Red Hat: 1 without a fix

No CVSS vector from any source. Fix status from CNA and Red Hat.

Summary

The Linux kernel vc_screen driver in vcs_write() can use a virtual console structure after it has been freed. A reload of the pointer sits after a copy-failure branch, so a freed structure can be used when a write fails while the console is being deallocated. The source description does not state what an attacker must control to trigger this.

Written with Claude Haiku 5.5 from the sources below · 2026-10-30

Description from the CNA

In the Linux kernel, the following vulnerability has been resolved: vc_screen: reload vc pointer before if (ret) in vcs_write() to avoid UAF The reload of 'vc' added by commit 8fb9ea65c9d1 ("vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF") sits after the 'if (ret)' block, so the copy-failure break path exits the loop without reloading vc. If the vc was kfree()'d via vc_port_destruct during the unlocked copy_from_user() window, the post-loop 'if (written && vc) vcs_scr_updated(vc)' is reached with a stale non-NULL vc. The '&& vc' guard from commit a287620312dc ("vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write") only handles the NULL case, not this stale-non-NULL case; vcs_notifier() then reads param->vc->vc_num from freed memory: BUG: KASAN: slab-use-after-free in vcs_notifier+0x7c/0xd0 Read of size 2 at addr ffff888007149190 Call Trace: vcs_notifier+0x7c/0xd0 atomic_notifier_call_chain+0x70/0xa0 vcs_scr_updated+0x77/0xa0 vcs_write+0x71b/0x7e0 Allocated by task: vc_allocate -> con_install -> tty_open Freed by task: kfree <- vt_ioctl (VT_DISALLOCATE -> vc_port_destruct) Move the reload to immediately after console_lock(), before 'if (ret)', so every break path below passes a fresh vc to the post-loop vcs_scr_updated().

Why it matters now

EPSS 0.00176 7th percentileScored 2026-11-07
Fix Partial Linux (Linux): 5.10.273, 5.15.224, 6.1.191 +7Red Hat: 1 without a fix

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux5.10.260 to before 5.10.273; 5.15.211 to before 5.15.224; 6.1.177 to before 6.1.191; 6.6.144 to before 6.6.160; 6.12.95 to before 6.12.113; 6.18.37 to before 6.18.56; 7.0.14 to before 7.1; 7.1.2 to before 7.25.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.1, 7.2Patch availableCNA
LinuxLinux7.2 and later5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.2.10, 7.3Patch availableCNA
  • Linux VendorLinux Affected 5.10.260 to before 5.10.273; 5.15.211 to before 5.15.224; 6.1.177 to before 6.1.191; 6.6.144 to before 6.6.160; 6.12.95 to before 6.12.113; 6.18.37 to before 6.18.56; 7.0.14 to before 7.1; 7.1.2 to before 7.2 Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.1, 7.2 Patch available CNA
  • Linux VendorLinux Affected 7.2 and later Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.2.10, 7.3 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*——Linux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions — — ·Linux

Remediation

Upgrade the Linux kernel to a fixed version: 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.1 or 7.2 on the respective branches, and 7.2.10 or 7.3 for the 7.2 series. Red Hat Enterprise Linux 10 is affected without a fix, and Red Hat lists no available fix plan for it.

Written with Claude Haiku 5.5 from the sources below · 2026-10-30

  • Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.1, 7.2
  • Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.2.10, 7.3

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-18 Threatist record created from CVE-2026-98840
  2. 2026-10-18 Alias added: GHSA-vpw3-5qwq-wxvw
  3. 2026-10-19 Fix available: Linux/[email protected] · CNA
  4. 2026-10-21 Affected versions changed · Red Hat
  5. 2026-10-21 CVSS score added · Red Hat
  6. 2026-10-21 Fix available: Linux/[email protected], Linux/Linux@c073d01f6f5367c3a4f07efd507274ed0d03acd0 · CNA
  7. 2026-10-21 1 new reference · CNA
  8. 2026-10-30 Fix available: Linux/[email protected], Linux/[email protected], Linux/[email protected] +3 · CNA
  9. 2026-10-30 3 new references · CNA

References

  • 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-2021-02452 Incorrect authorization in Ubuntu linux kernel 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
See all 21741 →

Sources