CVE-2026-68385 (GCVE-0-2026-68385)

Vulnerability from cvelistv5 – Published: 2026-08-10 12:04 – Updated: 2026-08-17 05:04
VLAI
Title
s390/checksum: Fix csum_partial() without vector facility
Summary
In the Linux kernel, the following vulnerability has been resolved: s390/checksum: Fix csum_partial() without vector facility Currently csum_partial() calls csum_copy() with copy=false and dst=NULL. On machines without the vector facility, csum_copy() falls back to cksm(dst, ...), causing the checksum to be calculated from address zero instead of the source buffer. The VX implementation already checksums data loaded from src. Make the fallback do the same by passing src to cksm().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: dcd3e1de9d17dc43dfed87a9fc814b9dec508043 , < 5fc0a2a6eeb99cac991242bb48796c7749ce3261 (git)
Affected: dcd3e1de9d17dc43dfed87a9fc814b9dec508043 , < 1d9a2f01b3c4e5c88e06b2db4b5460c2ec884722 (git)
Affected: dcd3e1de9d17dc43dfed87a9fc814b9dec508043 , < 898bb2814f38399108bdd2113f38d97383a7036a (git)
Affected: dcd3e1de9d17dc43dfed87a9fc814b9dec508043 , < 4bb06b60d982355e22647b3d12d6619419f8c1fa (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.9
Unaffected: 0 , < 6.9 (semver)
Unaffected: 6.12.101 , ≤ 6.12.* (semver)
Unaffected: 6.18.42 , ≤ 6.18.* (semver)
Unaffected: 7.1.6 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/s390/lib/csum-partial.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5fc0a2a6eeb99cac991242bb48796c7749ce3261",
              "status": "affected",
              "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
              "versionType": "git"
            },
            {
              "lessThan": "1d9a2f01b3c4e5c88e06b2db4b5460c2ec884722",
              "status": "affected",
              "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
              "versionType": "git"
            },
            {
              "lessThan": "898bb2814f38399108bdd2113f38d97383a7036a",
              "status": "affected",
              "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
              "versionType": "git"
            },
            {
              "lessThan": "4bb06b60d982355e22647b3d12d6619419f8c1fa",
              "status": "affected",
              "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/s390/lib/csum-partial.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.9"
            },
            {
              "lessThan": "6.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.101",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.101",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.42",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.6",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ns390/checksum: Fix csum_partial() without vector facility\n\nCurrently csum_partial() calls csum_copy() with copy=false and dst=NULL.\nOn machines without the vector facility, csum_copy() falls back to\ncksm(dst, ...), causing the checksum to be calculated from address zero\ninstead of the source buffer.\n\nThe VX implementation already checksums data loaded from src. Make the\nfallback do the same by passing src to cksm()."
        }
      ],
      "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"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - csum_partial() is the s390 software checksum used by the network stack on received and transmitted packets (skb_checksum, __skb_checksum_complete, ICMP/UDP/TCP, tunnels, GSO fallback); a remote peer both triggers the code and observes the resulting bad checksum values in packets sent back to it, with no local access needed.\nAC:L - On any affected system (a machine or guest without the vector facility, i.e. pre-z13 hardware or a z/VM/KVM/QEMU CPU model lacking VX) the wrong-address checksum happens unconditionally and deterministically on every call, and eliciting replies of chosen lengths (e.g. ICMP echo) is trivially repeatable.\nPR:N - No credentials or account are needed; simply sending packets to the host (or receiving its traffic) exercises the software checksum path, and the leaked checksum values are returned to an unauthenticated remote party.\nUI:N - Packet processing and checksum computation occur automatically in the kernel network stack with no action by any local user or administrator.\nS:U - The faulty read and its consequences stay within the kernel\u0027s own security authority; no hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - The checksum is computed over kernel memory at address 0 (the s390 lowcore: kernel stack/task pointers, PSWs, per-CPU state, and following low kernel memory) for an attacker-influenced length, and that value is emitted in transmitted packet checksum fields; differencing results over successive lengths reconstructs kernel memory contents remotely, defeating KASLR and disclosing kernel pointers.\nI:H - Computed checksums no longer depend on packet contents, so IP/TCP/UDP checksum verification is fully defeated: corrupted or attacker-modified payloads are accepted as valid by the stack and delivered to applications, destroying the integrity protection the checksum exists to provide.\nA:H - All software-checksummed traffic carries or fails bogus checksums and is dropped, causing loss of network connectivity on affected machines, and where the identity mapping base is randomized or the lowcore is relocated the read from address 0 hits unmapped memory and triggers a program check / kernel crash."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:04:31.922Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5fc0a2a6eeb99cac991242bb48796c7749ce3261"
        },
        {
          "url": "https://git.kernel.org/stable/c/1d9a2f01b3c4e5c88e06b2db4b5460c2ec884722"
        },
        {
          "url": "https://git.kernel.org/stable/c/898bb2814f38399108bdd2113f38d97383a7036a"
        },
        {
          "url": "https://git.kernel.org/stable/c/4bb06b60d982355e22647b3d12d6619419f8c1fa"
        }
      ],
      "title": "s390/checksum: Fix csum_partial() without vector facility",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-68385",
    "datePublished": "2026-08-10T12:04:04.281Z",
    "dateReserved": "2026-07-30T09:28:09.387Z",
    "dateUpdated": "2026-08-17T05:04:31.922Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-68385",
      "date": "2026-08-20",
      "epss": "0.00497",
      "percentile": "0.40643"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-68385\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-10T13:20:31.713\",\"lastModified\":\"2026-08-17T06:17:47.047\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ns390/checksum: Fix csum_partial() without vector facility\\n\\nCurrently csum_partial() calls csum_copy() with copy=false and dst=NULL.\\nOn machines without the vector facility, csum_copy() falls back to\\ncksm(dst, ...), causing the checksum to be calculated from address zero\\ninstead of the source buffer.\\n\\nThe VX implementation already checksums data loaded from src. Make the\\nfallback do the same by passing src to cksm().\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"arch/s390/lib/csum-partial.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"dcd3e1de9d17dc43dfed87a9fc814b9dec508043\",\"lessThan\":\"5fc0a2a6eeb99cac991242bb48796c7749ce3261\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dcd3e1de9d17dc43dfed87a9fc814b9dec508043\",\"lessThan\":\"1d9a2f01b3c4e5c88e06b2db4b5460c2ec884722\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dcd3e1de9d17dc43dfed87a9fc814b9dec508043\",\"lessThan\":\"898bb2814f38399108bdd2113f38d97383a7036a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dcd3e1de9d17dc43dfed87a9fc814b9dec508043\",\"lessThan\":\"4bb06b60d982355e22647b3d12d6619419f8c1fa\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"arch/s390/lib/csum-partial.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.9\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.9\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.101\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.42\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.6\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"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/1d9a2f01b3c4e5c88e06b2db4b5460c2ec884722\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4bb06b60d982355e22647b3d12d6619419f8c1fa\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5fc0a2a6eeb99cac991242bb48796c7749ce3261\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/898bb2814f38399108bdd2113f38d97383a7036a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-13T23:29:46+00:00",
      "cve": "CVE-2026-68385",
      "id": "CVE-2026-68385",
      "initial_release_date": "2026-08-10T00:00:00+00:00",
      "product_status:known_affected": "185",
      "product_status:known_not_affected": "91",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: s390/checksum: Fix csum_partial() without vector facility",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68385.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-13T01:28:03Z",
      "cve": "CVE-2026-68385",
      "id": "CVE-2026-68385",
      "initial_release_date": "2026-08-12T16:22:21Z",
      "product_status:known_affected": "29",
      "product_status:known_not_affected": "267",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-68385",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-68385.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…

Loading…