{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-68385",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-07-30T09:28:09.387Z",
        "datePublished": "2026-08-10T12:04:04.281Z",
        "dateUpdated": "2026-08-17T05:04:31.922Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-17T05:04:31.922Z"
            },
            "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": {
                        "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"
                    },
                    "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's 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."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "arch/s390/lib/csum-partial.c"
                    ],
                    "versions": [
                        {
                            "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
                            "lessThan": "5fc0a2a6eeb99cac991242bb48796c7749ce3261",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
                            "lessThan": "1d9a2f01b3c4e5c88e06b2db4b5460c2ec884722",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
                            "lessThan": "898bb2814f38399108bdd2113f38d97383a7036a",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "dcd3e1de9d17dc43dfed87a9fc814b9dec508043",
                            "lessThan": "4bb06b60d982355e22647b3d12d6619419f8c1fa",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "arch/s390/lib/csum-partial.c"
                    ],
                    "versions": [
                        {
                            "version": "6.9",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.9",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.101",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.42",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1.6",
                            "lessThanOrEqual": "7.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.2",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.9",
                                    "versionEndExcluding": "6.12.101"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.9",
                                    "versionEndExcluding": "6.18.42"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.9",
                                    "versionEndExcluding": "7.1.6"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.9",
                                    "versionEndExcluding": "7.2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "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"
            }
        }
    }
}