{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-53122",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-11-19T17:17:24.994Z",
        "datePublished": "2024-12-02T13:44:52.678Z",
        "dateUpdated": "2026-08-05T11:43:53.003Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:43:53.003Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmptcp: cope racing subflow creation in mptcp_rcv_space_adjust\n\nAdditional active subflows - i.e. created by the in kernel path\nmanager - are included into the subflow list before starting the\n3whs.\n\nA racing recvmsg() spooling data received on an already established\nsubflow would unconditionally call tcp_cleanup_rbuf() on all the\ncurrent subflows, potentially hitting a divide by zero error on\nthe newly created ones.\n\nExplicitly check that the subflow is in a suitable state before\ninvoking tcp_cleanup_rbuf()."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                        "baseScore": 7.5,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:N - The vulnerable path is reached from `mptcp_recvmsg()` processing data delivered by a remote MPTCP peer, and the racing subflow creation is triggered by remote MPTCP signalling (ADD_ADDR handling in the in-kernel path manager) over the TCP/IP stack. No local access is needed — any host terminating MPTCP connections is exposed to its peers.\nAC:L - The attacker controls both sides of the race: it drives the bulk data flow that forces `mptcp_rcv_space_adjust()` into the subflow loop and drives new-subflow creation via ADD_ADDR/RM_ADDR announcements (which can point at a blackholed address to widen the non-established window), and can retry the sequence indefinitely at no cost.\nPR:N - MPTCP data and ADD_ADDR option processing carry no authentication or authorization check, so an unauthenticated remote peer on an established MPTCP connection reaches the code. Even in the purely local scenario, the MPTCP path-manager netlink family uses GENL_UNS_ADMIN_PERM and is therefore usable by an unprivileged user inside `unshare -Urn`.\nUI:N - No victim action is required — an MPTCP-enabled server accepting connections, or a client already exchanging data, hits the path automatically as the kernel path manager creates additional subflows.\nS:U - The crash occurs in the kernel's own TCP/MPTCP receive path and affects only the kernel's security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:N - The defect is an arithmetic exception on a zero `icsk_ack.rcv_mss`; no memory is read out of bounds and no kernel data is copied to the attacker or to userspace.\nI:N - Nothing is written out of bounds or corrupted — the faulting instruction traps before any state modification, so there is no write primitive or control-flow influence.\nA:H - The divide-by-zero raises a #DE in kernel context, producing an oops that kills the receiving task while it holds the MPTCP socket lock and the subflow's fast lock, permanently wedging the socket; on systems with `panic_on_oops` set it is an immediate full kernel panic."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "net/mptcp/protocol.c"
                    ],
                    "versions": [
                        {
                            "version": "c76c6956566f974bac2470bd72fc22fb923e04a1",
                            "lessThan": "0a9a182ea5c7bb0374e527130fd85024ace7279b",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c76c6956566f974bac2470bd72fc22fb923e04a1",
                            "lessThan": "24995851d58c4a205ad0ffa7b2f21e479a9c8527",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c76c6956566f974bac2470bd72fc22fb923e04a1",
                            "lessThan": "ff825ab2f455299c0c7287550915a8878e2a66e0",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c76c6956566f974bac2470bd72fc22fb923e04a1",
                            "lessThan": "aad6412c63baa39dd813e81f16a14d976b3de2e8",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c76c6956566f974bac2470bd72fc22fb923e04a1",
                            "lessThan": "ce7356ae35943cc6494cc692e62d51a734062b7d",
                            "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/mptcp/protocol.c"
                    ],
                    "versions": [
                        {
                            "version": "5.10",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.10",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.174",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.119",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.63",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.11.10",
                            "lessThanOrEqual": "6.11.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12",
                            "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": "5.10",
                                    "versionEndExcluding": "5.15.174"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.10",
                                    "versionEndExcluding": "6.1.119"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.10",
                                    "versionEndExcluding": "6.6.63"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.10",
                                    "versionEndExcluding": "6.11.10"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.10",
                                    "versionEndExcluding": "6.12"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/0a9a182ea5c7bb0374e527130fd85024ace7279b"
                },
                {
                    "url": "https://git.kernel.org/stable/c/24995851d58c4a205ad0ffa7b2f21e479a9c8527"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ff825ab2f455299c0c7287550915a8878e2a66e0"
                },
                {
                    "url": "https://git.kernel.org/stable/c/aad6412c63baa39dd813e81f16a14d976b3de2e8"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ce7356ae35943cc6494cc692e62d51a734062b7d"
                }
            ],
            "title": "mptcp: cope racing subflow creation in mptcp_rcv_space_adjust",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-11-03T22:29:28.992Z"
                }
            }
        ]
    }
}