CVE-2026-23459 (GCVE-0-2026-23459)

Vulnerability from cvelistv5 – Published: 2026-04-03 15:15 – Updated: 2026-09-07 15:44
VLAI
Title
ip_tunnel: adapt iptunnel_xmit_stats() to NETDEV_PCPU_STAT_DSTATS
Summary
In the Linux kernel, the following vulnerability has been resolved: ip_tunnel: adapt iptunnel_xmit_stats() to NETDEV_PCPU_STAT_DSTATS Blamed commits forgot that vxlan/geneve use udp_tunnel[6]_xmit_skb() which call iptunnel_xmit_stats(). iptunnel_xmit_stats() was assuming tunnels were only using NETDEV_PCPU_STAT_TSTATS. @syncp offset in pcpu_sw_netstats and pcpu_dstats is different. 32bit kernels would either have corruptions or freezes if the syncp sequence was overwritten. This patch also moves pcpu_stat_type closer to dev->{t,d}stats to avoid a potential cache line miss since iptunnel_xmit_stats() needs to read it.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: cb1c1f3b7ef908408064734fb6bdaf5811b8b84c , < e40e2d11ced8119d3e4469ebe91264bc1cf71530 (git)
Affected: be226352e8dc77d3313c096b2d8e7f69bf6980fc , < 5d562153b4719234227f99c2fb529f98a6a44d15 (git)
Affected: be226352e8dc77d3313c096b2d8e7f69bf6980fc , < 0d087d00161f562d5047cc4009bb0c6a19daf9f1 (git)
Affected: be226352e8dc77d3313c096b2d8e7f69bf6980fc , < 8431c602f551549f082bbfa67f3003f2d8e3e132 (git)
Affected: 1db9041e91ac574f1cecc0e98e69ac35832e8088 (git)
Affected: 6.6.153 , < 6.7 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.14
Unaffected: 0 , < 6.14 (semver)
Unaffected: 6.18.50 , ≤ 6.18.* (semver)
Unaffected: 6.19.10 , ≤ 6.19.* (semver)
Unaffected: 7.0 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/linux/netdevice.h",
            "include/net/ip_tunnels.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e40e2d11ced8119d3e4469ebe91264bc1cf71530",
              "status": "affected",
              "version": "cb1c1f3b7ef908408064734fb6bdaf5811b8b84c",
              "versionType": "git"
            },
            {
              "lessThan": "5d562153b4719234227f99c2fb529f98a6a44d15",
              "status": "affected",
              "version": "be226352e8dc77d3313c096b2d8e7f69bf6980fc",
              "versionType": "git"
            },
            {
              "lessThan": "0d087d00161f562d5047cc4009bb0c6a19daf9f1",
              "status": "affected",
              "version": "be226352e8dc77d3313c096b2d8e7f69bf6980fc",
              "versionType": "git"
            },
            {
              "lessThan": "8431c602f551549f082bbfa67f3003f2d8e3e132",
              "status": "affected",
              "version": "be226352e8dc77d3313c096b2d8e7f69bf6980fc",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "1db9041e91ac574f1cecc0e98e69ac35832e8088",
              "versionType": "git"
            },
            {
              "lessThan": "6.7",
              "status": "affected",
              "version": "6.6.153",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/linux/netdevice.h",
            "include/net/ip_tunnels.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.14"
            },
            {
              "lessThan": "6.14",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "6.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.10",
                  "versionStartIncluding": "6.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "6.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.6.153",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nip_tunnel: adapt iptunnel_xmit_stats() to NETDEV_PCPU_STAT_DSTATS\n\nBlamed commits forgot that vxlan/geneve use udp_tunnel[6]_xmit_skb() which\ncall iptunnel_xmit_stats().\n\niptunnel_xmit_stats() was assuming tunnels were only using\nNETDEV_PCPU_STAT_TSTATS.\n\n@syncp offset in pcpu_sw_netstats and pcpu_dstats is different.\n\n32bit kernels would either have corruptions or freezes if the syncp\nsequence was overwritten.\n\nThis patch also moves pcpu_stat_type closer to dev-\u003e{t,d}stats to avoid\na potential cache line miss since iptunnel_xmit_stats() needs to read it."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.2,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - An unauthenticated remote peer can trigger the affected VXLAN/Geneve tunnel transmit path by sending traffic that a configured host routes or bridges out through the tunnel. This reaches `udp_tunnel[6]_xmit_skb()` and then `iptunnel_xmit_stats()` via normal network packet forwarding/output.\nAC:L - Once an affected 32-bit VXLAN/Geneve deployment exists, triggering is just repeated packet transmission through the tunnel. There is no attacker-uncontrolled race or fragile timing requirement.\nPR:N - For an already configured tunnel endpoint, the attacker does not need local privileges or authentication to cause network traffic to traverse the vulnerable transmit path. Although creating such devices requires `CAP_NET_ADMIN`, exploitation of an existing network-facing deployment does not.\nUI:N - No victim user action is required. Packet forwarding/output and statistics updates occur automatically in the kernel.\nS:U - The vulnerable code and the resulting corruption/freeze are within the same kernel/network-device security authority. This is not a VM escape or cross-authority boundary bypass.\nC:N - The bug corrupts per-CPU tunnel statistics/synchronization state rather than exposing kernel memory. No plausible arbitrary read or information disclosure primitive is evident.\nI:L - The direct integrity impact is limited corruption of network device statistics fields due to using the wrong per-CPU stats layout. The fixed write pattern does not provide a general arbitrary write or control-flow primitive.\nA:H - On 32-bit kernels, the wrong `syncp` offset can corrupt sequence/stat state and cause freezes or repeated kernel-side stalls when stats are read. This can produce a high availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-07T15:44:49.978Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e40e2d11ced8119d3e4469ebe91264bc1cf71530"
        },
        {
          "url": "https://git.kernel.org/stable/c/5d562153b4719234227f99c2fb529f98a6a44d15"
        },
        {
          "url": "https://git.kernel.org/stable/c/0d087d00161f562d5047cc4009bb0c6a19daf9f1"
        },
        {
          "url": "https://git.kernel.org/stable/c/8431c602f551549f082bbfa67f3003f2d8e3e132"
        }
      ],
      "title": "ip_tunnel: adapt iptunnel_xmit_stats() to NETDEV_PCPU_STAT_DSTATS",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-23459",
    "datePublished": "2026-04-03T15:15:39.665Z",
    "dateReserved": "2026-01-13T15:37:46.021Z",
    "dateUpdated": "2026-09-07T15:44:49.978Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-23459",
      "date": "2026-09-22",
      "epss": "0.00397",
      "percentile": "0.33697"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "include/linux/netdevice.h",
                  "include/net/ip_tunnels.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "e40e2d11ced8119d3e4469ebe91264bc1cf71530",
                    "status": "affected",
                    "version": "cb1c1f3b7ef908408064734fb6bdaf5811b8b84c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5d562153b4719234227f99c2fb529f98a6a44d15",
                    "status": "affected",
                    "version": "be226352e8dc77d3313c096b2d8e7f69bf6980fc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "0d087d00161f562d5047cc4009bb0c6a19daf9f1",
                    "status": "affected",
                    "version": "be226352e8dc77d3313c096b2d8e7f69bf6980fc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "8431c602f551549f082bbfa67f3003f2d8e3e132",
                    "status": "affected",
                    "version": "be226352e8dc77d3313c096b2d8e7f69bf6980fc",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "1db9041e91ac574f1cecc0e98e69ac35832e8088",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6.7",
                    "status": "affected",
                    "version": "6.6.153",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "include/linux/netdevice.h",
                  "include/net/ip_tunnels.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.14"
                  },
                  {
                    "lessThan": "6.14",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.50",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.19.*",
                    "status": "unaffected",
                    "version": "6.19.10",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.0",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "2B2C5324-E9BD-43C2-AA70-44A311B13130",
                    "versionEndExcluding": "6.19.10",
                    "versionStartIncluding": "6.14",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "F253B622-8837-4245-BCE5-A7BF8FC76A16",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "4AE85AD8-4641-4E7C-A2F4-305E2CD9EE64",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*",
                    "matchCriteriaId": "F666C8D8-6538-46D4-B318-87610DE64C34",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*",
                    "matchCriteriaId": "02259FDA-961B-47BC-AE7F-93D7EC6E90C2",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nip_tunnel: adapt iptunnel_xmit_stats() to NETDEV_PCPU_STAT_DSTATS\n\nBlamed commits forgot that vxlan/geneve use udp_tunnel[6]_xmit_skb() which\ncall iptunnel_xmit_stats().\n\niptunnel_xmit_stats() was assuming tunnels were only using\nNETDEV_PCPU_STAT_TSTATS.\n\n@syncp offset in pcpu_sw_netstats and pcpu_dstats is different.\n\n32bit kernels would either have corruptions or freezes if the syncp\nsequence was overwritten.\n\nThis patch also moves pcpu_stat_type closer to dev-\u003e{t,d}stats to avoid\na potential cache line miss since iptunnel_xmit_stats() needs to read it."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nip_tunnel: adaptar iptunnel_xmit_stats() a NETDEV_PCPU_STAT_DSTATS\n\nLos commits culpables olvidaron que vxlan/geneve usan udp_tunnel[6]_xmit_skb() que llama a iptunnel_xmit_stats().\n\niptunnel_xmit_stats() asum\u00eda que los t\u00faneles solo usaban NETDEV_PCPU_STAT_TSTATS.\n\nEl desplazamiento @syncp en pcpu_sw_netstats y pcpu_dstats es diferente.\n\nLos kernels de 32 bits tendr\u00edan o bien corrupciones o congelamientos si la secuencia syncp era sobrescrita.\n\nEste parche tambi\u00e9n mueve pcpu_stat_type m\u00e1s cerca de dev -\u003e {t,d}stats para evitar una posible p\u00e9rdida de l\u00ednea de cach\u00e9 ya que iptunnel_xmit_stats() necesita leerlo."
          }
        ],
        "id": "CVE-2026-23459",
        "lastModified": "2026-09-07T16:17:27.923",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 4.2,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-04-03T16:16:32.833",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/0d087d00161f562d5047cc4009bb0c6a19daf9f1"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/5d562153b4719234227f99c2fb529f98a6a44d15"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/8431c602f551549f082bbfa67f3003f2d8e3e132"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e40e2d11ced8119d3e4469ebe91264bc1cf71530"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-28T10:58:25+00:00",
      "cve": "CVE-2026-23459",
      "id": "CVE-2026-23459",
      "initial_release_date": "2026-04-03T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ip_tunnel: adapt iptunnel_xmit_stats() to NETDEV_PCPU_STAT_DSTATS",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-23459.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…