« Volver al listado

CVE-2026-80901

Estado: RecibidaSin puntuar—

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.

Leer descripción completaMostrar menos

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.

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-80901",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2a3b791e6e1169f374224d164738e9f7be703d77",
              "lessThan": "d418d73acf8be62744dc47359dfdde8c2148845d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2a3b791e6e1169f374224d164738e9f7be703d77",
              "lessThan": "b3869d9b54e76dff64118dee4c8fd9302fcd5171",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2a3b791e6e1169f374224d164738e9f7be703d77",
              "lessThan": "9cbe2c0fdb71904ee929b1851cdc1c73341a03c0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2a3b791e6e1169f374224d164738e9f7be703d77",
              "lessThan": "00eb23829fd08df1b5e057cb6b625996a70e7e65",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2a3b791e6e1169f374224d164738e9f7be703d77",
              "lessThan": "5558a85add073215b298f3e044ff9a6d86d714ae",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2a3b791e6e1169f374224d164738e9f7be703d77",
              "lessThan": "e876b75b9020a97bbdc79721e7fc749024891c65",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "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"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.28"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "2.6.28",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.1.183",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.6.151",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.103",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.44",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.1.8",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "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"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-04T18:17:58.767",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/00eb23829fd08df1b5e057cb6b625996a70e7e65",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/5558a85add073215b298f3e044ff9a6d86d714ae",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9cbe2c0fdb71904ee929b1851cdc1c73341a03c0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b3869d9b54e76dff64118dee4c8fd9302fcd5171",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d418d73acf8be62744dc47359dfdde8c2148845d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e876b75b9020a97bbdc79721e7fc749024891c65",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nipvs: fix the checksum validations\n\nip_vs_in_icmp_v6() is missing checksum validation for ICMPv6\npackets from clients. In fact, as for TCP/UDP we should\nvalidate the checksum for ICMP packets only when we\nmangle the packets on MASQ or on reply for tunnel.\n\nAlso, Sashiko points out that handle_response_icmp() being\ncommon for IPv4 and IPv6 is missing the pseudo-header\ncalculation while validating ICMPv6 messages from real\nservers which is a problem if checksum is not validated\nby the hardware.\n\nFix the problems by creating ip_vs_checksum_common_check()\nhelper and use it for TCP/UDP/ICMP both for IPv4 and IPv6.\nRely on the nf_checksum() for validating the ICMP messages\nbut use it also for TCP and UDP.\n\nUse correct IP offset for IP_VS_DBG_RL_PKT for TCP/UDP/SCTP.\n\nIPVS packets (TCP/UDP/SCTP/ICMP) do not need checksum\nvalidation on LOCAL_OUT (local clients or local real\nservers) and on FORWARD (traffic from servers on LAN).\nDo it only on LOCAL_IN, in case nf_checksum() is not\ncalled on PRE_ROUTING.\n\nAlso, ip_vs_checksum_complete() can be marked static."
    }
  ],
  "lastModified": "2026-09-04T18:17:58.767",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}