{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-46831",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-09-11T15:12:18.286Z",
        "datePublished": "2024-09-27T12:39:29.078Z",
        "dateUpdated": "2026-08-05T11:38:53.495Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:38:53.495Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: microchip: vcap: Fix use-after-free error in kunit test\n\nThis is a clear use-after-free error. We remove it, and rely on checking\nthe return code of vcap_del_rule."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 8.4,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The vulnerable code is a KUnit test suite executed during kernel initialization on the local system; the only deliberate re-trigger is a write to the local debugfs file /sys/kernel/debug/kunit/VCAP_API_Full_Rule_Testsuite/run. No network, adjacent, or physical path reaches this code — the test operates entirely on hardcoded local data.\nAC:L - Within an affected build the use-after-free is reached unconditionally and deterministically every boot, requiring no preparation, no race to win, and no memory-layout grooming. Although CONFIG_VCAP_KUNIT_TEST is a non-default developer option, CVSS scores the vulnerable configuration, and within it the trigger is fully reliable.\nPR:N - The kunit suite runs from late_initcall with kunit.enable defaulting to true, so the freed-object accesses execute with no authentication, no capability check, and no privilege gate of any kind on an affected kernel. No credentials are needed for the vulnerable code path to be taken.\nUI:N - The test suite executes automatically during kernel boot without any victim action such as mounting a filesystem, plugging in a device, or opening a file.\nS:U - The corruption is confined to the kernel's own slab allocator and the VCAP admin rule list within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - This is a use-after-free: freed slab memory is read back as list_head and id fields, and if the slab is reallocated between the kfree() and the reads, those reads pull in whatever data now occupies the chunk. Per kernel scoring guidance a UAF gives attacker influence over freed-object contents and is rated High.\nI:H - Beyond the reported UAF read, the retained dangling node in admin->rules leads vcap_del_rule() to perform list_del() writes into freed memory and a second vcap_free_rule(), producing a double-free plus kfree() of pointers read out of freed memory — an arbitrary-free/write primitive suitable for heap exploitation.\nA:H - The use-after-free and subsequent double-free corrupt slab metadata and will oops or panic the kernel; on a KUnit-enabled kernel, which commonly runs KASAN, this reliably produces a fatal splat during boot."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c"
                    ],
                    "versions": [
                        {
                            "version": "c956b9b318d9036701c471dd458f9ed31defc629",
                            "lessThan": "b0804c286ccfcf5f5c004d5bf8a54c0508b5e86b",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c956b9b318d9036701c471dd458f9ed31defc629",
                            "lessThan": "f7fe95f40c85311c98913fe6ae2c56adb7f767a7",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c956b9b318d9036701c471dd458f9ed31defc629",
                            "lessThan": "a3c1e45156ad39f225cd7ddae0f81230a3b1e657",
                            "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/net/ethernet/microchip/vcap/vcap_api_kunit.c"
                    ],
                    "versions": [
                        {
                            "version": "6.2",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.2",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.51",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.10.10",
                            "lessThanOrEqual": "6.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.11",
                            "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.2",
                                    "versionEndExcluding": "6.6.51"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.2",
                                    "versionEndExcluding": "6.10.10"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.2",
                                    "versionEndExcluding": "6.11"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/b0804c286ccfcf5f5c004d5bf8a54c0508b5e86b"
                },
                {
                    "url": "https://git.kernel.org/stable/c/f7fe95f40c85311c98913fe6ae2c56adb7f767a7"
                },
                {
                    "url": "https://git.kernel.org/stable/c/a3c1e45156ad39f225cd7ddae0f81230a3b1e657"
                }
            ],
            "title": "net: microchip: vcap: Fix use-after-free error in kunit test",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2024-09-29T14:03:46.116815Z",
                                "id": "CVE-2024-46831",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-09-29T14:11:44.754Z"
                }
            }
        ]
    }
}