CVE-2026-98755 Overview
CVE-2026-98755 is a kernel information disclosure vulnerability in the Linux kernel's Virtual Console Concentrator (VCC) tty driver. The flaw resides in the vcc_send_ctl() function, where a stack-allocated struct vio_vcc pkt was only partially initialized. The tag.stype_env field remained uninitialized before the packet was transmitted via ldc_write(), allowing residual kernel stack contents to leak to the Logical Domain Channel (LDC) peer. The issue affects systems that use the SPARC Logical Domains (LDoms) VCC console infrastructure. The vulnerability has been resolved upstream with kernel commits that zero-initialize the control packet before transmission.
Critical Impact
Uninitialized stack memory can be transmitted to an LDC peer, potentially disclosing sensitive kernel data such as pointers, credentials, or secrets residing on the kernel stack.
Affected Products
- Linux kernel versions containing the vulnerable drivers/tty/vcc.c implementation
- SPARC-based deployments using Virtual Console Concentrator (VCC) over LDC
- Downstream distributions shipping affected stable kernel branches
Discovery Timeline
- 2026-10-18 - CVE-2026-98755 published to the National Vulnerability Database (NVD)
- 2026-10-21 - Last updated in NVD database
Technical Details for CVE-2026-98755
Vulnerability Analysis
The vulnerability is an uninitialized memory use issue in the Linux kernel tty VCC driver. The vcc_send_ctl() function constructs a control message of type struct vio_vcc on the kernel stack and populates specific fields before calling ldc_write() to send the message to the LDC peer. Because the structure is not fully zeroed on allocation, the tag.stype_env subfield, and potentially adjacent padding bytes, retain whatever data previously existed at that stack location.
When the packet is handed to ldc_write(), the complete sizeof(struct vio_vcc) byte range is copied into the transport buffer. This copy includes the uninitialized field, resulting in a cross-privilege-boundary disclosure of kernel stack memory to the remote LDC endpoint. The flaw is categorized as Uninitialized Memory Use, closely related to [CWE-908: Use of Uninitialized Resource] and [CWE-200: Information Exposure].
Root Cause
The root cause is incomplete initialization of a stack-allocated structure before serialization. The developer initialized only the fields relevant to the control exchange, assuming the remaining tag fields were not meaningful. However, ldc_write() transmits the entire structure, including uninitialized bytes. The upstream fix zero-initializes the pkt structure prior to field assignment, ensuring no residual stack data is transmitted.
Attack Vector
An attacker positioned as an LDC peer, typically another logical domain on the same SPARC host, can observe the leaked bytes in received VCC control packets. Repeated observations can accumulate kernel stack fragments across invocations. The leaked data may include function pointers, stack canaries, or other sensitive residues useful for defeating kernel address space layout randomization (KASLR) or for chaining with other kernel vulnerabilities. See the upstream fixes in the Kernel Git Commit 1f71f56 and related stable branches.
Detection Methods for CVE-2026-98755
Indicators of Compromise
- No specific host-based artifacts are associated with exploitation because the leak is passive and leaves no footprint on the vulnerable host.
- Anomalous LDC control traffic patterns from a peer domain repeatedly soliciting VCC control exchanges may indicate reconnaissance.
Detection Strategies
- Inventory running kernels against the fixed commit hashes 1f71f56, 399aa38, 4335278, 4b59afc, and 6f1a08e to identify unpatched hosts.
- Audit SPARC guest and control domains for use of the vcc tty driver and correlate with kernel build versions.
- Review distribution security trackers for backports addressing CVE-2026-98755 on long-term support kernels.
Monitoring Recommendations
- Monitor kernel package versions across SPARC fleets and alert on hosts running pre-patch builds.
- Centralize kernel and dmesg logs for review of VCC driver load events and anomalous LDC errors.
- Track vendor advisories from distributions that ship SPARC-capable kernels for backport availability.
How to Mitigate CVE-2026-98755
Immediate Actions Required
- Apply the upstream kernel patches that zero-initialize the control packet in vcc_send_ctl() as soon as a vendor build is available.
- Prioritize patching on SPARC hosts running multiple logical domains where untrusted peers may share the LDC fabric.
- Restrict which logical domains are permitted to establish VCC console connections to limit exposure to trusted peers only.
Patch Information
The fix has been merged across multiple stable branches. Reference the upstream commits: Kernel Git Commit 1f71f56, Kernel Git Commit 399aa38, Kernel Git Commit 4335278, Kernel Git Commit 4b59afc, and Kernel Git Commit 6f1a08e. The remediation replaces the partial field initialization with a full zero-initialization of the struct vio_vcc pkt prior to populating protocol fields.
Workarounds
- On hosts that do not require SPARC VCC console functionality, unload or blacklist the vcc kernel module to eliminate the vulnerable code path.
- Limit LDC peer relationships to administratively trusted domains until a patched kernel is deployed.
- Where feasible, disable automatic console attachment for untrusted guest domains to reduce the volume of control exchanges issued by vcc_send_ctl().
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

