{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-58240",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-04-16T07:19:43.804Z",
        "datePublished": "2025-08-28T09:40:33.466Z",
        "dateUpdated": "2026-08-19T16:27:47.491Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-19T16:27:47.491Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntls: separate no-async decryption request handling from async\n\nIf we're not doing async, the handling is much simpler. There's no\nreference counting, we just need to wait for the completion to wake us\nup and return its result.\n\nWe should preferably also use a separate crypto_wait. I'm not seeing a\nUAF as I did in the past, I think aec7961916f3 (\"tls: fix race between\nasync notify and socket close\") took care of it.\n\nThis will make the next fix easier."
                }
            ],
            "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 - The vulnerable code is kTLS record decryption (net/tls/tls_sw.c), driven entirely by TLS records arriving on a TCP socket from a remote peer or an on-path injector. Per kernel scoring guidance, kTLS bugs triggered by remote peer data are Network.\nAC:L - The remote peer controls every input to the race — record type (DATA→async vs. alert/handshake→sync), record rate (to fill the crypto backlog and force -EBUSY), and authentication failure (-EBADMSG) — so it creates both sides of the race and can retry indefinitely on a long-lived connection. Async AEAD (SIMD/cryptd AES-GCM, QAT, Chelsio) with TLS 1.2 is a normal kTLS deployment, not a rare config.\nPR:N - The attacker is the remote TLS peer of a kTLS socket (e.g. an anonymous client of an nginx/HAProxy/NVMe-TCP-TLS server) or an on-path attacker injecting records into an established connection, and holds no credentials or privileges on the target system. No authentication gate exists on the receive path.\nUI:N - Triggering requires only that the kTLS-enabled application perform its normal recvmsg() on the socket while the attacker sends crafted record sequences. No victim action beyond ordinary server operation is needed.\nS:U - The corruption is kernel heap and page memory within the same kernel security authority; there is no VM, IOMMU, or sandbox boundary crossed.\nC:H - The still-queued aead_request, its scatterlists and the output pages are freed and reallocated while the crypto engine continues to use them, giving an attacker who sprays the freed slab both a read primitive over reused kernel memory and plaintext written into unrelated allocations; additionally a lost -EBADMSG can leak a failed record's contents to userspace.\nI:H - The crypto driver writes decrypted output into kfree()'d memory and put_page()'d pages after they may be reallocated, an attacker-influenced out-of-bounds write usable for heap grooming and control-flow hijack; the clobbered ctx->async_wait.err can also suppress an authentication failure and admit forged record data.\nA:H - The use-after-free readily oopses or panics the kernel, and the mis-attributed completion leaves recvmsg() blocked forever in uninterruptible wait_for_completion() holding the socket lock, producing an unkillable D-state task and a permanently wedged socket."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "net/tls/tls_sw.c"
                    ],
                    "versions": [
                        {
                            "version": "3c4d7559159bfe1e3b94df3a657b2cda3a34e218",
                            "lessThan": "f32ab6cb544d01cdc150de5df389ac685aa507b0",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3c4d7559159bfe1e3b94df3a657b2cda3a34e218",
                            "lessThan": "5f7761c94b1db7570cab328c9f940a33284509b7",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3c4d7559159bfe1e3b94df3a657b2cda3a34e218",
                            "lessThan": "48905146d11dbf1ddbb2967319016a83976953f5",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3c4d7559159bfe1e3b94df3a657b2cda3a34e218",
                            "lessThan": "dec5b6e7b211e405d3bcb504562ab21aa7e5a64d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3c4d7559159bfe1e3b94df3a657b2cda3a34e218",
                            "lessThan": "999115298017a675d8ddf61414fc7a85c89f1186",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3c4d7559159bfe1e3b94df3a657b2cda3a34e218",
                            "lessThan": "41532b785e9d79636b3815a64ddf6a096647d011",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "net/tls/tls_sw.c"
                    ],
                    "versions": [
                        {
                            "version": "4.13",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "4.13",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.265",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.216",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.149",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.21",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.7.9",
                            "lessThanOrEqual": "6.7.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.8",
                            "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": "4.13",
                                    "versionEndExcluding": "5.10.265"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.13",
                                    "versionEndExcluding": "5.15.216"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.13",
                                    "versionEndExcluding": "6.1.149"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.13",
                                    "versionEndExcluding": "6.6.21"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.13",
                                    "versionEndExcluding": "6.7.9"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.13",
                                    "versionEndExcluding": "6.8"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/f32ab6cb544d01cdc150de5df389ac685aa507b0"
                },
                {
                    "url": "https://git.kernel.org/stable/c/5f7761c94b1db7570cab328c9f940a33284509b7"
                },
                {
                    "url": "https://git.kernel.org/stable/c/48905146d11dbf1ddbb2967319016a83976953f5"
                },
                {
                    "url": "https://git.kernel.org/stable/c/dec5b6e7b211e405d3bcb504562ab21aa7e5a64d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/999115298017a675d8ddf61414fc7a85c89f1186"
                },
                {
                    "url": "https://git.kernel.org/stable/c/41532b785e9d79636b3815a64ddf6a096647d011"
                }
            ],
            "title": "tls: separate no-async decryption request handling from async",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-11-03T17:31:32.503Z"
                }
            },
            {
                "x_adpType": "supplier",
                "providerMetadata": {
                    "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
                    "shortName": "siemens-SADP",
                    "dateUpdated": "2026-05-12T12:02:08.000Z"
                },
                "affected": [
                    {
                        "vendor": "Siemens",
                        "product": "SIMATIC CN 4100",
                        "versions": [
                            {
                                "status": "affected",
                                "version": "0",
                                "lessThan": "V5.0",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    }
                ],
                "references": [
                    {
                        "url": "https://cert-portal.siemens.com/productcert/html/ssa-032379.html"
                    }
                ]
            }
        ]
    }
}