{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2026-64007",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-64007",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-07-19T14:56:23.049Z",
    "updatedAt": "2026-10-19T20:28:08.086Z",
    "importedAt": "2026-10-24T01:58:25.636Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "netfilter: synproxy: refresh tcphdr after skb_ensure_writable",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: synproxy: refresh tcphdr after skb_ensure_writable\n\nsynproxy_tstamp_adjust() rewrites the TCP timestamp option in place\nand then patches the TCP checksum via inet_proto_csum_replace4() on\nthe caller-supplied tcphdr pointer.  Both ipv4_synproxy_hook() and\nipv6_synproxy_hook() obtain that pointer with skb_header_pointer()\nbefore calling in, so it may either alias skb->head directly or\npoint at the caller's on-stack _tcph buffer.\n\nBetween obtaining the pointer and using it, the function calls\nskb_ensure_writable(skb, optend), which on a cloned or non-linear\nskb invokes pskb_expand_head() and frees the old skb->head.  After\nthat point the cached th is stale:\n\n    caller (ipv[46]_synproxy_hook)\n      th = skb_header_pointer(skb, ..., &_tcph)\n      synproxy_tstamp_adjust(skb, protoff, th, ...)\n        skb_ensure_writable(skb, optend)\n          pskb_expand_head()        /* kfree(old skb->head) */\n        ...\n        inet_proto_csum_replace4(&th->check, ...)\n                                    /* writes into freed head, or\n                                       into the caller's stack copy\n                                       leaving the on-wire checksum\n                                       stale */\n\nThe option bytes are written through skb->data and are fine; only\nthe checksum update goes through th and so lands in the wrong\nplace.  The result is either a write into freed slab memory or a\npacket leaving with a checksum that does not match its payload.\n\nFix by re-deriving th from skb->data + protoff immediately after\nskb_ensure_writable() succeeds, so the subsequent checksum update\ntargets the linear, writable header.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "9902a1058992de5d95656b64a3bd95c077f7ba2c"
            },
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "d3019c61799adc21811af4b521f11f3dc77f8e04"
            },
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "dd206819f210522579010d889d45a9530bb494bc"
            },
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "af2c22ccb1f621aff487ff47a040e38e058541e7"
            },
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "c7f945f7da097245a2f8ed7775ce48421047ee96"
            },
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "f0fea2b6d5453a11ad11713bbf37561b9b3a7edf"
            },
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "a91887a5b6ee4b98dfbf1db657ed2b879430149e"
            },
            {
              "version": "48b1de4c110a7afa4b85862f6c75af817db26fad",
              "status": "affected",
              "versionType": "git",
              "lessThan": "92170e6afe927ab2792a3f71902845789c8e31b1"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "3.12",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "3.12"
            },
            {
              "version": "5.10.259",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.210",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.176",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.143",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.93",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.18.35",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "7.0.12",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "7.0.*"
            },
            {
              "version": "7.1",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}