In the Linux kernel, the following vulnerability has been resolved:
ipvs: fix the checksum validations
ipvsinicmpv6() 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 handleresponseicmp() 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 ipvschecksumcommoncheck() 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 IPVSDBGRLPKT for TCP/UDP/SCTP.
IPVS packets (TCP/UDP/SCTP/ICMP) do not need checksum validation on LOCALOUT (local clients or local real servers) and on FORWARD (traffic from servers on LAN). Do it only on LOCALIN, in case nfchecksum() is not called on PREROUTING.
Also, ipvschecksum_complete() can be marked static.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80901.json"
}