Description
In the Linux kernel, the following vulnerability has been resolved:

ipvs: reset full ip_vs_seq structs in ip_vs_conn_new

Commit 9a05475cebdd ("ipvs: avoid kmem_cache_zalloc in
ip_vs_conn_new") changed ip_vs_conn_new() to allocate an ip_vs_conn
object with kmem_cache_alloc(). The function then initializes many
fields explicitly, but only resets in_seq.delta and out_seq.delta in the
two struct ip_vs_seq members.

That leaves init_seq and previous_delta uninitialized. This is normally
harmless while the corresponding IP_VS_CONN_F_IN_SEQ or
IP_VS_CONN_F_OUT_SEQ flag is clear. For connections learned from a sync
message, however, ip_vs_proc_conn() preserves those flags from
IP_VS_CONN_F_BACKUP_MASK and passes opt=NULL when the message omits
IPVS_OPT_SEQ_DATA. In that case the new connection can be hashed with
SEQ flags set but with the rest of in_seq/out_seq still containing stale
slab data.

When a packet for such a connection is later handled by an IPVS
application helper, vs_fix_seq() and vs_fix_ack_seq() use
previous_delta and init_seq to rewrite TCP sequence numbers. A malformed
sync message can therefore make forwarded packets carry stale slab bytes
in their TCP seq/ack numbers, and can also corrupt the forwarded TCP
flow.

Reset both struct ip_vs_seq members completely before publishing the
connection. This matches the existing "reset struct ip_vs_seq" comment
and keeps the sequence-adjustment gates inactive unless valid sequence
data is installed later.
Published: 2026-08-15
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel IPVS module fails to fully reset the ip_vs_seq structures when allocating a new connection object. Only the delta fields are cleared, leaving init_seq and previous_delta uninitialized. For connections that arrive via a sync message, these stale values are carried into the connection's state and later used by vs_fix_seq() and vs_fix_ack_seq() to rewrite TCP sequence numbers. This results in forwarded packets containing corrupted or stale TCP sequence and acknowledgment numbers, potentially corrupting the TCP flow and allowing an attacker to influence packet ordering or data integrity.

Affected Systems

All Linux kernel builds that include the IPVS virtual server implementation are affected. The vulnerability exists in the default kernel source and manifests in any distribution that has not applied the recent patch adding comprehensive ip_vs_seq initialization.

Risk and Exploitability

Although the EPSS score is not available and the vulnerability is not listed in CISA KEV, the risk remains significant for environments that rely on IPVS synchronization. An attacker who can inject a malicious sync message—either through compromise of a sync peer or via a network medium that bypasses trust boundaries—can cause sequence number manipulation. The attack requires network access to the sync channel and knowledge of IPVS sync protocols, but does not need elevated privileges on the target system. The absence of a publicly available exploit, combined with the lack of a high CVSS score, suggests the threat is moderate to high for multi-node IPVS deployments with untrusted sync peers.

Generated by OpenCVE AI on August 15, 2026 at 07:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel update that includes commit 9a05475cebdd, which resets both ip_vs_seq members before publishing the connection.
  • Ensure your distribution’s backport or security update policy applies the patch to all supported kernel versions and test the update in a staging environment before deployment.
  • If a kernel update is not immediately available, restrict IPVS synchronization to trusted peers only; consider using network segmentation or firewall rules to block sync traffic from untrusted hosts.
  • Optionally monitor for abnormal TCP sequence numbers or the appearance of stale slab data in packet captures to detect potential exploitation attempts.

Generated by OpenCVE AI on August 15, 2026 at 07:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 15 Aug 2026 08:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-457

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ipvs: reset full ip_vs_seq structs in ip_vs_conn_new Commit 9a05475cebdd ("ipvs: avoid kmem_cache_zalloc in ip_vs_conn_new") changed ip_vs_conn_new() to allocate an ip_vs_conn object with kmem_cache_alloc(). The function then initializes many fields explicitly, but only resets in_seq.delta and out_seq.delta in the two struct ip_vs_seq members. That leaves init_seq and previous_delta uninitialized. This is normally harmless while the corresponding IP_VS_CONN_F_IN_SEQ or IP_VS_CONN_F_OUT_SEQ flag is clear. For connections learned from a sync message, however, ip_vs_proc_conn() preserves those flags from IP_VS_CONN_F_BACKUP_MASK and passes opt=NULL when the message omits IPVS_OPT_SEQ_DATA. In that case the new connection can be hashed with SEQ flags set but with the rest of in_seq/out_seq still containing stale slab data. When a packet for such a connection is later handled by an IPVS application helper, vs_fix_seq() and vs_fix_ack_seq() use previous_delta and init_seq to rewrite TCP sequence numbers. A malformed sync message can therefore make forwarded packets carry stale slab bytes in their TCP seq/ack numbers, and can also corrupt the forwarded TCP flow. Reset both struct ip_vs_seq members completely before publishing the connection. This matches the existing "reset struct ip_vs_seq" comment and keeps the sequence-adjustment gates inactive unless valid sequence data is installed later.
Title ipvs: reset full ip_vs_seq structs in ip_vs_conn_new
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-15T05:51:46.675Z

Reserved: 2026-08-09T03:40:39.900Z

Link: CVE-2026-72020

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:00.920

Modified: 2026-08-15T06:21:00.920

Link: CVE-2026-72020

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-15T09:00:06Z

Weaknesses
  • CWE-457

    Use of Uninitialized Variable