CVE-2023-53600 (GCVE-0-2023-53600)
Vulnerability from cvelistv5
Published
2025-10-04 15:44
Modified
2026-08-05 09:15
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: tunnels: fix kasan splat when generating ipv4 pmtu error If we try to emit an icmp error in response to a nonliner skb, we get BUG: KASAN: slab-out-of-bounds in ip_compute_csum+0x134/0x220 Read of size 4 at addr ffff88811c50db00 by task iperf3/1691 CPU: 2 PID: 1691 Comm: iperf3 Not tainted 6.5.0-rc3+ #309 [..] kasan_report+0x105/0x140 ip_compute_csum+0x134/0x220 iptunnel_pmtud_build_icmp+0x554/0x1020 skb_tunnel_check_pmtu+0x513/0xb80 vxlan_xmit_one+0x139e/0x2ef0 vxlan_xmit+0x1867/0x2760 dev_hard_start_xmit+0x1ee/0x4f0 br_dev_queue_push_xmit+0x4d1/0x660 [..] ip_compute_csum() cannot deal with nonlinear skbs, so avoid it. After this change, splat is gone and iperf3 is no longer stuck.
Impacted products
Vendor Product Version
Linux Linux Version: 4cb47a8644cc9eb8ec81190a50e79e6530d0297f
Version: 4cb47a8644cc9eb8ec81190a50e79e6530d0297f
Version: 4cb47a8644cc9eb8ec81190a50e79e6530d0297f
Version: 4cb47a8644cc9eb8ec81190a50e79e6530d0297f
Version: 4cb47a8644cc9eb8ec81190a50e79e6530d0297f
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/ipv4/ip_tunnel_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5850c391fd7e25662334cb3cbf29a62bcbff1084",
              "status": "affected",
              "version": "4cb47a8644cc9eb8ec81190a50e79e6530d0297f",
              "versionType": "git"
            },
            {
              "lessThan": "e95808121953410db8c59f0abfde70ac0d34222c",
              "status": "affected",
              "version": "4cb47a8644cc9eb8ec81190a50e79e6530d0297f",
              "versionType": "git"
            },
            {
              "lessThan": "da5f42a6e7485fbb7a6dbd6a2b3045e19e4df5cc",
              "status": "affected",
              "version": "4cb47a8644cc9eb8ec81190a50e79e6530d0297f",
              "versionType": "git"
            },
            {
              "lessThan": "fe6a9f7516735be9fdabab00e47ef7a3403a174d",
              "status": "affected",
              "version": "4cb47a8644cc9eb8ec81190a50e79e6530d0297f",
              "versionType": "git"
            },
            {
              "lessThan": "6a7ac3d20593865209dceb554d8b3f094c6bd940",
              "status": "affected",
              "version": "4cb47a8644cc9eb8ec81190a50e79e6530d0297f",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/ipv4/ip_tunnel_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.9"
            },
            {
              "lessThan": "5.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.191",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.127",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.46",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.191",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.127",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.46",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.11",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntunnels: fix kasan splat when generating ipv4 pmtu error\n\nIf we try to emit an icmp error in response to a nonliner skb, we get\n\nBUG: KASAN: slab-out-of-bounds in ip_compute_csum+0x134/0x220\nRead of size 4 at addr ffff88811c50db00 by task iperf3/1691\nCPU: 2 PID: 1691 Comm: iperf3 Not tainted 6.5.0-rc3+ #309\n[..]\n kasan_report+0x105/0x140\n ip_compute_csum+0x134/0x220\n iptunnel_pmtud_build_icmp+0x554/0x1020\n skb_tunnel_check_pmtu+0x513/0xb80\n vxlan_xmit_one+0x139e/0x2ef0\n vxlan_xmit+0x1867/0x2760\n dev_hard_start_xmit+0x1ee/0x4f0\n br_dev_queue_push_xmit+0x4d1/0x660\n [..]\n\nip_compute_csum() cannot deal with nonlinear skbs, so avoid it.\nAfter this change, splat is gone and iperf3 is no longer stuck."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.1,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The vulnerable code runs on the bridge/tunnel forwarding path (`br_dev_queue_push_xmit` \u2192 `vxlan_xmit` \u2192 `skb_tunnel_check_pmtu`), driven entirely by the size, DF flag and layout of an IP packet that a remote host injected into the bridged VXLAN/Geneve overlay; no local access is needed and the leaked checksum is mailed back to the sender.\nAC:L - The attacker controls every trigger condition \u2014 packet size above the tunnel PMTU, the DF bit, and the addresses/protocol that pass the filters in `iptunnel_pmtud_check_icmp()` \u2014 and nonlinearity is the default state for large skbs (NIC page frags, GRO, GSO), so the OOB read fires reliably on the first oversized packet.\nPR:N - No privileges exist on this path: the packet is processed unauthenticated on the bridge forwarding/transmit path with no capability, credential or namespace check between packet reception and `ip_compute_csum()`.\nUI:N - No victim action is required; the kernel autonomously generates the PMTU ICMP error as soon as an oversized DF packet is forwarded to the tunnel port.\nS:U - The out-of-bounds read and its effects stay within the kernel\u0027s own security authority; no VM, IOMMU or sandbox boundary is crossed.\nC:H - Up to ~514 bytes of slab memory adjacent to the skb head are read out of bounds and folded into the ICMP checksum of a packet sent back to the attacker, disclosing adjacent kernel heap state to an off-host observer.\nI:N - The defect is a pure read overrun \u2014 `ip_compute_csum()` only reads, and all writes (`skb_push`, header construction) remain within the region guaranteed by `skb_cow()`, so no kernel memory is modified.\nA:H - The bogus checksum makes the peer drop the ICMP FRAG_NEEDED, black-holing PMTU discovery and hanging tunneled TCP transfers indefinitely (the reported stuck iperf3), and the multi-hundred-byte slab overread oopses the kernel under hardened/debug memory configurations."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:15:04.025Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5850c391fd7e25662334cb3cbf29a62bcbff1084"
        },
        {
          "url": "https://git.kernel.org/stable/c/e95808121953410db8c59f0abfde70ac0d34222c"
        },
        {
          "url": "https://git.kernel.org/stable/c/da5f42a6e7485fbb7a6dbd6a2b3045e19e4df5cc"
        },
        {
          "url": "https://git.kernel.org/stable/c/fe6a9f7516735be9fdabab00e47ef7a3403a174d"
        },
        {
          "url": "https://git.kernel.org/stable/c/6a7ac3d20593865209dceb554d8b3f094c6bd940"
        }
      ],
      "title": "tunnels: fix kasan splat when generating ipv4 pmtu error",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53600",
    "datePublished": "2025-10-04T15:44:11.775Z",
    "dateReserved": "2025-10-04T15:40:38.479Z",
    "dateUpdated": "2026-08-05T09:15:04.025Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…