Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-68119

CVE-2026-68119: Linux Kernel TCP-AO Padding DoS Flaw

CVE-2026-68119 is a denial of service vulnerability in Linux kernel TCP-AO that involves uninitialized padding bytes in standalone TCP responses. This article covers the technical details, affected versions, and mitigation.

Published:

CVE-2026-68119 Overview

CVE-2026-68119 is an uninitialized memory disclosure vulnerability in the Linux kernel's TCP Authentication Option (TCP-AO) implementation. The flaw resides in the tcp_v4_send_ack() and tcp_v6_send_response() functions, which construct standalone TCP responses containing TCP-AO options. When the Message Authentication Code (MAC) length is not four-byte aligned, one to three padding bytes after the MAC remain uninitialized. These bytes can be transmitted over the network, leaking kernel memory contents to remote peers.

Critical Impact

Remote attackers can passively observe TCP-AO authenticated traffic to harvest fragments of uninitialized kernel memory, potentially exposing sensitive data across a network attack vector without authentication.

Affected Products

  • Linux Kernel — TCP-AO subsystem in IPv4 and IPv6 response paths
  • Linux Kernel stable branches referenced by the upstream fix commits
  • Systems using TCP-AO with non four-byte aligned MAC lengths

Discovery Timeline

  • 2026-08-10 - CVE-2026-68119 published to NVD
  • 2026-08-13 - Last updated in NVD database

Technical Details for CVE-2026-68119

Vulnerability Analysis

The Linux kernel implements RFC 5925 TCP-AO to provide cryptographic authentication for TCP segments. The standalone response paths tcp_v4_send_ack() and tcp_v6_send_response() build TCP headers that include a TCP-AO option. The option length field records the actual MAC length, while the overall TCP header length rounds the option up to a four-byte boundary as required by TCP option alignment rules.

The function tcp_ao_hash_hdr() writes only the MAC bytes into the option buffer. When the MAC length is not a multiple of four, one to three trailing padding bytes remain untouched. These uninitialized bytes originate from stack or heap memory and are subsequently transmitted on the wire as part of the TCP segment. This constitutes an information disclosure over the network.

For the standard TCP-AO output path, the padding must also be initialized before the MAC is computed, otherwise the authentication hash covers uninitialized memory. The upstream fix initializes the alignment padding in the TCP-AO branches with TCPOPT_NOP bytes prior to hashing the header, mirroring the normal TCP-AO output path.

Root Cause

The root cause is uninitialized memory use [CWE-908] in the TCP-AO response construction logic. The kernel allocates a buffer sized for the aligned option length but only writes the MAC bytes, leaving alignment padding uninitialized. The defect affects only code paths where the negotiated MAC algorithm produces a MAC length not divisible by four.

Attack Vector

An attacker who can receive TCP-AO authenticated segments from a vulnerable Linux host can inspect the padding bytes following the MAC to extract fragments of uninitialized kernel memory. Exploitation requires an active TCP-AO session with the target, but no privileges on the target and no user interaction. The disclosed bytes are small per segment but can accumulate across many responses.

// No verified public exploit code is available for this vulnerability.
// See the upstream Linux kernel commits linked in External References
// for the exact patched code paths in tcp_v4_send_ack() and
// tcp_v6_send_response().

Detection Methods for CVE-2026-68119

Indicators of Compromise

  • No known indicators of compromise are published, as exploitation is passive and leaves no host-side artifacts.
  • Unexpected TCP-AO sessions from unauthorized peers on management or BGP interfaces may indicate reconnaissance activity.

Detection Strategies

  • Inventory Linux hosts running kernels predating the fix commits a859b280, bbb7db8c, e1a9d3cc, and fadaff3f and verify TCP-AO usage on production services.
  • Inspect captured TCP-AO segments for non-zero, non-TCPOPT_NOP bytes in the option alignment padding region following the MAC.
  • Correlate BGP or router-to-router TCP-AO peers against expected topology to identify unauthorized session establishment attempts.

Monitoring Recommendations

  • Monitor kernel versions across the fleet and alert on hosts running unpatched builds where TCP-AO is enabled.
  • Log TCP-AO negotiation events and authentication failures at network edges to identify anomalous peers.
  • Track outbound packet captures on TCP-AO enabled sockets during change windows to validate that padding bytes match TCPOPT_NOP (0x01) after patching.

How to Mitigate CVE-2026-68119

Immediate Actions Required

  • Apply the upstream Linux kernel patches referenced by commits a859b280441f, bbb7db8c74b0, e1a9d3cc1182, and fadaff3f66e1 from your distribution's stable branch.
  • Update to a kernel build that includes the fix from your Linux distribution vendor once released.
  • Audit which hosts and services rely on TCP-AO, such as BGP routers and secure management channels, and prioritize those for patching.

Patch Information

The fix initializes the alignment padding bytes in the TCP-AO response branches with TCPOPT_NOP before tcp_ao_hash_hdr() computes the MAC. This ensures no uninitialized kernel memory is transmitted and that the authentication hash covers deterministic content. Refer to the upstream commits: a859b280, bbb7db8c, e1a9d3cc, and fadaff3f.

Workarounds

  • Where feasible, restrict TCP-AO peers to trusted network segments using firewall rules and access control lists.
  • Prefer MAC algorithms whose output length is a multiple of four bytes, which avoids the vulnerable padding path until patches are deployed.
  • Terminate TCP-AO on patched intermediaries or bastion hosts where end systems cannot be updated immediately.
bash
# Verify running kernel and confirm patch presence via package metadata
uname -r

# Debian/Ubuntu
apt list --installed 2>/dev/null | grep linux-image

# RHEL/CentOS/Rocky
rpm -q kernel

# Identify sockets negotiating TCP-AO (requires recent iproute2)
ss -tanoO | grep -i ao

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.