All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-80901: ipvs: fix the checksum validations
Date: Fri,  4 Sep 2026 19:09:42 +0200	[thread overview]
Message-ID: <2026090431-CVE-2026-80901-3ce1@gregkh> (raw)

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

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

ipvs: fix the checksum validations

ip_vs_in_icmp_v6() is missing checksum validation for ICMPv6
packets from clients. In fact, as for TCP/UDP we should
validate the checksum for ICMP packets only when we
mangle the packets on MASQ or on reply for tunnel.

Also, Sashiko points out that handle_response_icmp() being
common for IPv4 and IPv6 is missing the pseudo-header
calculation while validating ICMPv6 messages from real
servers which is a problem if checksum is not validated
by the hardware.

Fix the problems by creating ip_vs_checksum_common_check()
helper and use it for TCP/UDP/ICMP both for IPv4 and IPv6.
Rely on the nf_checksum() for validating the ICMP messages
but use it also for TCP and UDP.

Use correct IP offset for IP_VS_DBG_RL_PKT for TCP/UDP/SCTP.

IPVS packets (TCP/UDP/SCTP/ICMP) do not need checksum
validation on LOCAL_OUT (local clients or local real
servers) and on FORWARD (traffic from servers on LAN).
Do it only on LOCAL_IN, in case nf_checksum() is not
called on PRE_ROUTING.

Also, ip_vs_checksum_complete() can be marked static.

The Linux kernel CVE team has assigned CVE-2026-80901 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 2.6.28 with commit 2a3b791e6e1169f374224d164738e9f7be703d77 and fixed in 6.1.183 with commit d418d73acf8be62744dc47359dfdde8c2148845d
	Issue introduced in 2.6.28 with commit 2a3b791e6e1169f374224d164738e9f7be703d77 and fixed in 6.6.151 with commit b3869d9b54e76dff64118dee4c8fd9302fcd5171
	Issue introduced in 2.6.28 with commit 2a3b791e6e1169f374224d164738e9f7be703d77 and fixed in 6.12.103 with commit 9cbe2c0fdb71904ee929b1851cdc1c73341a03c0
	Issue introduced in 2.6.28 with commit 2a3b791e6e1169f374224d164738e9f7be703d77 and fixed in 6.18.44 with commit 00eb23829fd08df1b5e057cb6b625996a70e7e65
	Issue introduced in 2.6.28 with commit 2a3b791e6e1169f374224d164738e9f7be703d77 and fixed in 7.1.8 with commit 5558a85add073215b298f3e044ff9a6d86d714ae
	Issue introduced in 2.6.28 with commit 2a3b791e6e1169f374224d164738e9f7be703d77 and fixed in 7.2 with commit e876b75b9020a97bbdc79721e7fc749024891c65

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-80901
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	include/net/ip_vs.h
	net/netfilter/ipvs/ip_vs_core.c
	net/netfilter/ipvs/ip_vs_proto_sctp.c
	net/netfilter/ipvs/ip_vs_proto_tcp.c
	net/netfilter/ipvs/ip_vs_proto_udp.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/d418d73acf8be62744dc47359dfdde8c2148845d
	https://git.kernel.org/stable/c/b3869d9b54e76dff64118dee4c8fd9302fcd5171
	https://git.kernel.org/stable/c/9cbe2c0fdb71904ee929b1851cdc1c73341a03c0
	https://git.kernel.org/stable/c/00eb23829fd08df1b5e057cb6b625996a70e7e65
	https://git.kernel.org/stable/c/5558a85add073215b298f3e044ff9a6d86d714ae
	https://git.kernel.org/stable/c/e876b75b9020a97bbdc79721e7fc749024891c65

                 reply	other threads:[~2026-09-04 17:13 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026090431-CVE-2026-80901-3ce1@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=cve@kernel.org \
    --cc=gregkh@kernel.org \
    --cc=linux-cve-announce@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.