{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2021-47616",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-06-19T14:55:32.795Z",
        "datePublished": "2024-06-19T14:58:03.817Z",
        "dateUpdated": "2026-08-05T08:48:39.530Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T08:48:39.530Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA: Fix use-after-free in rxe_queue_cleanup\n\nOn error handling path in rxe_qp_from_init() qp->sq.queue is freed and\nthen rxe_create_qp() will drop last reference to this object. qp clean up\nfunction will try to free this queue one time and it causes UAF bug.\n\nFix it by zeroing queue pointer after freeing queue in rxe_qp_from_init()."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The bug is triggered through local RDMA uverbs create-QP (ioctl/write on /dev/infiniband/uverbsN) or local rdma netlink newlink during SoftRoCE device setup, not by processing unauthenticated remote packets.\nAC:L - An attacker who can create a QP can reliably force the rxe_qp_init_resp failure path after a successful send-queue init (e.g., ENOMEM on the receive queue), causing the double free without depending on races or other conditions outside their control.\nPR:L - Ordinary RC/UC/UD QP creation needs no capabilities, and uverbs nodes are created mode 0666; once an rxe device exists (typical SoftRoCE deployment), an unprivileged local user can open it and hit the bug. Creating the device itself only needs CAP_NET_ADMIN, which is also obtainable in a user+net namespace.\nUI:N - Exploitation requires only attacker-controlled syscalls; no victim action such as mounting a filesystem or opening a malicious file is needed.\nS:U - This is standard kernel heap corruption leading to privilege escalation within the same host security authority, with no VM escape or IOMMU/cross-boundary impact.\nC:H - The vulnerability is a use-after-free/double-free of the send queue object; per kernel UAF guidance this enables reclaim of the freed object and arbitrary kernel memory disclosure.\nI:H - Double-free of the kmalloc'd rxe_queue (and associated buffer) is classic heap corruption that can be turned into arbitrary write / control-flow hijacking via heap shaping.\nA:H - The UAF reliably produces a kernel oops/crash (as seen in the syzbot KASAN report in rxe_queue_cleanup), so availability impact is High."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/infiniband/sw/rxe/rxe_qp.c"
                    ],
                    "versions": [
                        {
                            "version": "514aee660df493cd673154a6ba6bab745ec47b8c",
                            "lessThan": "acb53e47db1fbc7cd37ab10b46388f045a76e383",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "514aee660df493cd673154a6ba6bab745ec47b8c",
                            "lessThan": "84b01721e8042cdd1e8ffeb648844a09cd4213e0",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/infiniband/sw/rxe/rxe_qp.c"
                    ],
                    "versions": [
                        {
                            "version": "5.15",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.15",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.10",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.16",
                            "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.15",
                                    "versionEndExcluding": "5.15.10"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15",
                                    "versionEndExcluding": "5.16"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/acb53e47db1fbc7cd37ab10b46388f045a76e383"
                },
                {
                    "url": "https://git.kernel.org/stable/c/84b01721e8042cdd1e8ffeb648844a09cd4213e0"
                }
            ],
            "title": "RDMA: Fix use-after-free in rxe_queue_cleanup",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-04T05:47:40.519Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/acb53e47db1fbc7cd37ab10b46388f045a76e383",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/84b01721e8042cdd1e8ffeb648844a09cd4213e0",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            },
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2021-47616",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2024-09-10T17:11:45.722005Z"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-09-11T17:34:50.651Z"
                }
            }
        ]
    }
}