{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2023-54321",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-12-30T12:28:53.860Z",
        "datePublished": "2025-12-30T12:34:14.793Z",
        "dateUpdated": "2026-05-11T19:59:42.500Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-05-11T19:59:42.500Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndriver core: fix potential null-ptr-deref in device_add()\n\nI got the following null-ptr-deref report while doing fault injection test:\n\nBUG: kernel NULL pointer dereference, address: 0000000000000058\nCPU: 2 PID: 278 Comm: 37-i2c-ds2482 Tainted: G    B   W        N 6.1.0-rc3+\nRIP: 0010:klist_put+0x2d/0xd0\nCall Trace:\n <TASK>\n klist_remove+0xf1/0x1c0\n device_release_driver_internal+0x196/0x210\n bus_remove_device+0x1bd/0x240\n device_add+0xd3d/0x1100\n w1_add_master_device+0x476/0x490 [wire]\n ds2482_probe+0x303/0x3e0 [ds2482]\n\nThis is how it happened:\n\nw1_alloc_dev()\n  // The dev->driver is set to w1_master_driver.\n  memcpy(&dev->dev, device, sizeof(struct device));\n  device_add()\n    bus_add_device()\n    dpm_sysfs_add() // It fails, calls bus_remove_device.\n\n    // error path\n    bus_remove_device()\n      // The dev->driver is not null, but driver is not bound.\n      __device_release_driver()\n        klist_remove(&dev->p->knode_driver) <-- It causes null-ptr-deref.\n\n    // normal path\n    bus_probe_device() // It's not called yet.\n      device_bind_driver()\n\nIf dev->driver is set, in the error path after calling bus_add_device()\nin device_add(), bus_remove_device() is called, then the device will be\ndetached from driver. But device_bind_driver() is not called yet, so it\ncauses null-ptr-deref while access the 'knode_driver'. To fix this, set\ndev->driver to null in the error path before calling bus_remove_device()."
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/base/core.c"
                    ],
                    "versions": [
                        {
                            "version": "57eee3d23e8833ca18708b374c648235691942ba",
                            "lessThan": "97aa8fb74bbe9aaf4ed5962a784f73b071bd16bf",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "57eee3d23e8833ca18708b374c648235691942ba",
                            "lessThan": "2c59650d078b1b3f1ea50d5f8ee9fcc537dc02d3",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "57eee3d23e8833ca18708b374c648235691942ba",
                            "lessThan": "7cf515bf9e8c2908dc170ecf2df117162a16c9c5",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "57eee3d23e8833ca18708b374c648235691942ba",
                            "lessThan": "17982304806c5c10924e73f7ca5556e0d7378452",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "57eee3d23e8833ca18708b374c648235691942ba",
                            "lessThan": "f6837f34a34973ef6600c08195ed300e24e97317",
                            "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/base/core.c"
                    ],
                    "versions": [
                        {
                            "version": "2.6.26",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "2.6.26",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.249",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.99",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.16",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.2.3",
                            "lessThanOrEqual": "6.2.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.3",
                            "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": "2.6.26",
                                    "versionEndExcluding": "5.10.249"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.26",
                                    "versionEndExcluding": "5.15.99"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.26",
                                    "versionEndExcluding": "6.1.16"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.26",
                                    "versionEndExcluding": "6.2.3"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.26",
                                    "versionEndExcluding": "6.3"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/97aa8fb74bbe9aaf4ed5962a784f73b071bd16bf"
                },
                {
                    "url": "https://git.kernel.org/stable/c/2c59650d078b1b3f1ea50d5f8ee9fcc537dc02d3"
                },
                {
                    "url": "https://git.kernel.org/stable/c/7cf515bf9e8c2908dc170ecf2df117162a16c9c5"
                },
                {
                    "url": "https://git.kernel.org/stable/c/17982304806c5c10924e73f7ca5556e0d7378452"
                },
                {
                    "url": "https://git.kernel.org/stable/c/f6837f34a34973ef6600c08195ed300e24e97317"
                }
            ],
            "title": "driver core: fix potential null-ptr-deref in device_add()",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}