CVE-2026-64046 (GCVE-0-2026-64046)

Vulnerability from cvelistv5 – Published: 2026-07-19 15:39 – Updated: 2026-07-20 13:42
VLAI
Title
net: tls: prevent chain-after-chain in plain text SG
Summary
In the Linux kernel, the following vulnerability has been resolved: net: tls: prevent chain-after-chain in plain text SG Sashiko points out that if end = 0 (start != 0) the current code will create a chain link to content type right after the wrap link: This would create a chain where the wrap link points directly to another chain link. The scatterlist API sg_next iterator does not recursively resolve consecutive chain links. meaning this is illegal input to crypto. The wrapping link is unnecessary if end = 0. end is the entry after the last one used so end = 0 means there's nothing pushed after the wrap: end start i v v v [ ]...[ ][ d ][ d ][ d ][ d ][rsv for wrap] Skip the wrapping in this case. TLS 1.3 can use the "wrapping slot" for it's chaining if end = 0. This avoids the chain-after-chain. Move the wrap chaining before marking END and chaining off content type, that feels like more logical ordering to me, but should not matter from functional perspective.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < 49a5faaa471ddcd37b6893970c9916eb836e7c31 (git)
Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < 91359966e247c0244c66d50bbb8e74aefa4321c3 (git)
Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < 410351158dfef2d67fea6603680b3a6013c6ed9d (git)
Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < acdc12b71c9aa4be5dcd2c8062753c6d2033e235 (git)
Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < 929b1548e63ac72e104c07d8ee8cbbeeba2fa89a (git)
Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < af855f4c966afafef74faf8390c7b86568c0d46d (git)
Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36 (git)
Affected: 9aaaa56845a06aeabdd597cbe19492dc01f281ec , < ff26a0e8377dec07e4a7230db7675bed1b9a6d03 (git)
Affected: d529d6c9f7e3aaeac13c4948f79799ccb825f29d (git)
Affected: 5.4.14 , < 5.5 (semver)
Create a notification for this product.
Linux Linux Affected: 5.5
Unaffected: 0 , < 5.5 (semver)
Unaffected: 5.10.258 , ≤ 5.10.* (semver)
Unaffected: 5.15.209 , ≤ 5.15.* (semver)
Unaffected: 6.1.175 , ≤ 6.1.* (semver)
Unaffected: 6.6.142 , ≤ 6.6.* (semver)
Unaffected: 6.12.92 , ≤ 6.12.* (semver)
Unaffected: 6.18.34 , ≤ 6.18.* (semver)
Unaffected: 7.0.11 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/tls/tls_sw.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "49a5faaa471ddcd37b6893970c9916eb836e7c31",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "lessThan": "91359966e247c0244c66d50bbb8e74aefa4321c3",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "lessThan": "410351158dfef2d67fea6603680b3a6013c6ed9d",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "lessThan": "acdc12b71c9aa4be5dcd2c8062753c6d2033e235",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "lessThan": "929b1548e63ac72e104c07d8ee8cbbeeba2fa89a",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "lessThan": "af855f4c966afafef74faf8390c7b86568c0d46d",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "lessThan": "b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "lessThan": "ff26a0e8377dec07e4a7230db7675bed1b9a6d03",
              "status": "affected",
              "version": "9aaaa56845a06aeabdd597cbe19492dc01f281ec",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "d529d6c9f7e3aaeac13c4948f79799ccb825f29d",
              "versionType": "git"
            },
            {
              "lessThan": "5.5",
              "status": "affected",
              "version": "5.4.14",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/tls/tls_sw.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.5"
            },
            {
              "lessThan": "5.5",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.258",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.175",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.142",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.92",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.258",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.209",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.175",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.142",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.92",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.34",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.11",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: tls: prevent chain-after-chain in plain text SG\n\nSashiko points out that if end = 0 (start != 0) the current\ncode will create a chain link to content type right after\nthe wrap link:\n\n  This would create a chain where the wrap link points directly\n  to another chain link. The scatterlist API sg_next iterator\n  does not recursively resolve consecutive chain links.\n\nmeaning this is illegal input to crypto.\n\nThe wrapping link is unnecessary if end = 0. end is the entry after\nthe last one used so end = 0 means there\u0027s nothing pushed after\nthe wrap:\n\n   end         start            i\n    v            v              v\n  [   ]...[   ][ d ][ d ][ d ][ d ][rsv for wrap]\n\nSkip the wrapping in this case.\n\nTLS 1.3 can use the \"wrapping slot\" for it\u0027s chaining if end = 0.\nThis avoids the chain-after-chain.\n\nMove the wrap chaining before marking END and chaining off content\ntype, that feels like more logical ordering to me, but should not\nmatter from functional perspective."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          }
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-20T13:42:46.777Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/49a5faaa471ddcd37b6893970c9916eb836e7c31"
        },
        {
          "url": "https://git.kernel.org/stable/c/91359966e247c0244c66d50bbb8e74aefa4321c3"
        },
        {
          "url": "https://git.kernel.org/stable/c/410351158dfef2d67fea6603680b3a6013c6ed9d"
        },
        {
          "url": "https://git.kernel.org/stable/c/acdc12b71c9aa4be5dcd2c8062753c6d2033e235"
        },
        {
          "url": "https://git.kernel.org/stable/c/929b1548e63ac72e104c07d8ee8cbbeeba2fa89a"
        },
        {
          "url": "https://git.kernel.org/stable/c/af855f4c966afafef74faf8390c7b86568c0d46d"
        },
        {
          "url": "https://git.kernel.org/stable/c/b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36"
        },
        {
          "url": "https://git.kernel.org/stable/c/ff26a0e8377dec07e4a7230db7675bed1b9a6d03"
        }
      ],
      "title": "net: tls: prevent chain-after-chain in plain text SG",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64046",
    "datePublished": "2026-07-19T15:39:31.129Z",
    "dateReserved": "2026-07-19T07:54:57.029Z",
    "dateUpdated": "2026-07-20T13:42:46.777Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64046",
      "date": "2026-07-21",
      "epss": "0.00521",
      "percentile": "0.40846"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-64046\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-19T16:17:44.920\",\"lastModified\":\"2026-07-20T15:17:05.287\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: tls: prevent chain-after-chain in plain text SG\\n\\nSashiko points out that if end = 0 (start != 0) the current\\ncode will create a chain link to content type right after\\nthe wrap link:\\n\\n  This would create a chain where the wrap link points directly\\n  to another chain link. The scatterlist API sg_next iterator\\n  does not recursively resolve consecutive chain links.\\n\\nmeaning this is illegal input to crypto.\\n\\nThe wrapping link is unnecessary if end = 0. end is the entry after\\nthe last one used so end = 0 means there\u0027s nothing pushed after\\nthe wrap:\\n\\n   end         start            i\\n    v            v              v\\n  [   ]...[   ][ d ][ d ][ d ][ d ][rsv for wrap]\\n\\nSkip the wrapping in this case.\\n\\nTLS 1.3 can use the \\\"wrapping slot\\\" for it\u0027s chaining if end = 0.\\nThis avoids the chain-after-chain.\\n\\nMove the wrap chaining before marking END and chaining off content\\ntype, that feels like more logical ordering to me, but should not\\nmatter from functional perspective.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/tls/tls_sw.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"49a5faaa471ddcd37b6893970c9916eb836e7c31\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"91359966e247c0244c66d50bbb8e74aefa4321c3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"410351158dfef2d67fea6603680b3a6013c6ed9d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"acdc12b71c9aa4be5dcd2c8062753c6d2033e235\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"929b1548e63ac72e104c07d8ee8cbbeeba2fa89a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"af855f4c966afafef74faf8390c7b86568c0d46d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9aaaa56845a06aeabdd597cbe19492dc01f281ec\",\"lessThan\":\"ff26a0e8377dec07e4a7230db7675bed1b9a6d03\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d529d6c9f7e3aaeac13c4948f79799ccb825f29d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5.4.14\",\"lessThan\":\"5.5\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/tls/tls_sw.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.5\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.5\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.258\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.209\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.175\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.142\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.92\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.34\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0.11\",\"lessThanOrEqual\":\"7.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/410351158dfef2d67fea6603680b3a6013c6ed9d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/49a5faaa471ddcd37b6893970c9916eb836e7c31\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/91359966e247c0244c66d50bbb8e74aefa4321c3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/929b1548e63ac72e104c07d8ee8cbbeeba2fa89a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/acdc12b71c9aa4be5dcd2c8062753c6d2033e235\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/af855f4c966afafef74faf8390c7b86568c0d46d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ff26a0e8377dec07e4a7230db7675bed1b9a6d03\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-20T17:12:10+00:00",
      "cve": "CVE-2026-64046",
      "id": "CVE-2026-64046",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_affected": "232",
      "product_status:known_not_affected": "42",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: tls: prevent chain-after-chain in plain text SG",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64046.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…