CVE-2026-43254: ovpn: tcp - fix packet extraction from stream
In the Linux kernel, the following vulnerability has been resolved:
ovpn: tcp - fix packet extraction from stream
When processing TCP stream data in ovpn_tcp_recv, we receive large
cloned skbs from __strp_rcv that may contain multiple coalesced packets.
The current implementation has two bugs:
1. Header offset overflow: Using pskb_pull with large offsets on
coalesced skbs causes skb->data - skb->head to exceed the u16 storage
of skb->network_header. This causes skb_reset_network_header to fail
on the inner decapsulated packet, resulting in packet drops.
2. Unaligned protocol headers: Extracting packets from arbitrary
positions within the coalesced TCP stream provides no alignment
guarantees for the packet data causing performance penalties on
architectures without efficient unaligned access. Additionally,
openvpn's 2-byte length prefix on TCP packets causes the subsequent
4-byte opcode and packet ID fields to be inherently misaligned.
Fix both issues by allocating a new skb for each openvpn packet and
using skb_copy_bits to extract only the packet content into the new
buffer, skipping the 2-byte length prefix. Also, check the length before
invoking the function that performs the allocation to avoid creating an
invalid skb.
If the packet has to be forwarded to userspace the 2-byte prefix can be
pushed to the head safely, without misalignment.
As a side effect, this approach also avoids the expensive linearization
that pskb_pull triggers on cloned skbs with page fragments. In testing,
this resulted in TCP throughput improvements of up to 74%.
Security readout for executives and security teams
Plain-English summary
A Linux kernel fault in OpenVPN’s TCP receive path can cause valid VPN packets to be dropped when multiple packets are coalesced in one TCP buffer. The documented impact is service availability, not data theft or modification. Organizations using kernel OVPN over TCP should prioritize supported kernel updates.
Executive priority
Prioritize remediation for production VPN gateways and other availability-sensitive systems using kernel OVPN over TCP. The high score reflects remotely triggerable service disruption, but the sources provide no evidence of active exploitation. Validate vendor exposure before emergency change windows because the supplied version data is incomplete.
Technical view
In ovpn_tcp_recv, large cloned socket buffers can contain multiple coalesced packets. Pulling large offsets may overflow the u16 network-header offset, while TCP framing can leave protocol fields unaligned. The fix copies each packet into a newly allocated socket buffer after validating its length, preventing packet drops and alignment problems.
Likely exposure
Exposure is limited to Linux systems using the kernel OVPN TCP receive path. The bundle identifies versions 6.16, 6.18.16, 6.19.6, 7.0, and an ambiguous “0” entry as affected; it does not define clear version ranges. Distribution package status should determine actual exposure.
Exploitation context
The CVSS vector describes a network-reachable, unauthenticated, low-complexity availability impact. However, the supplied record is not in KEV and provides no evidence of active exploitation or a public exploit. Treat exploitation status as unconfirmed.
Researcher notes
The record describes packet loss from network-header offset overflow plus unaligned protocol fields, without assigning a CWE. The per-packet copy fix also reportedly improved tested TCP throughput by up to 74%. Exact introduction and fixed-version boundaries cannot be established from the supplied version list alone; review the referenced stable commits and distribution backports.
Mitigation direction
Upgrade to a vendor-supported kernel release containing the applicable referenced stable fix.
Confirm the distribution’s security advisory and package status before selecting a target kernel version.
Prioritize systems that actively carry OpenVPN traffic through the kernel OVPN TCP path.
If updating is delayed, consult the Linux distribution for supported mitigations; none are specified in the supplied sources.
Validation and detection
Inventory kernel versions and determine whether the kernel OVPN TCP receive path is enabled and used.
Verify the installed kernel source or vendor package includes the applicable referenced stable commit.
After updating, test representative OVPN TCP traffic and confirm packet delivery remains stable.
Review VPN and kernel monitoring for unexplained packet drops or availability degradation.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-43254 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
4Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.