{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-38611",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-06-18T19:36:34.942Z",
        "datePublished": "2024-06-19T13:56:12.742Z",
        "dateUpdated": "2026-08-05T11:33:10.211Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:33:10.211Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: i2c: et8ek8: Don't strip remove function when driver is builtin\n\nUsing __exit for the remove function results in the remove callback\nbeing discarded with CONFIG_VIDEO_ET8EK8=y. When such a device gets\nunbound (e.g. using sysfs or hotplug), the driver is just removed\nwithout the cleanup being performed. This results in resource leaks. Fix\nit by compiling in the remove callback unconditionally.\n\nThis also fixes a W=1 modpost warning:\n\n\tWARNING: modpost: drivers/media/i2c/et8ek8/et8ek8: section mismatch in reference: et8ek8_i2c_driver+0x10 (section: .data) -> et8ek8_remove (section: .exit.text)"
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H",
                        "baseScore": 7.3,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The vulnerable state is reached through local interfaces only — a sysfs driver unbind on the i2c bus, then local access to the orphaned `/dev/v4l-subdevX` node or the world-readable `/sys/.../priv_mem` attribute. No network or physical access is involved.\nAC:L - The missing `.remove` callback is unconditional when the driver is builtin, so cleanup is deterministically skipped on every unbind; the resulting NULL deref via the stale 0444 sysfs attribute and the dangling subdev registrations are reachable reliably with no race to win.\nPR:L - Once the driver has been unbound, an ordinary unprivileged local user reads the leftover world-readable `priv_mem` attribute or opens the still-registered `/dev/v4l-subdevX` devnode to reach the freed `et8ek8_sensor`; no capability is needed for that step, and it is not obtainable-only-as-root.\nUI:R - The dangling state only comes into existence after the driver is detached from the device (sysfs unbind, i2c adapter teardown, or DT overlay removal), which is an administrative/system action performed by someone other than the attacker.\nS:U - The corruption and its consequences are confined to the kernel's own memory and the V4L2/media subsystem; no VM, IOMMU, or other security-authority boundary is crossed.\nC:H - The freed `sensor` remains on `mdev->entities` and the global `subdev_list`, so `MEDIA_IOC_ENUM_ENTITIES`/`G_TOPOLOGY` and subdev ioctls copy freed heap contents to userspace, and the use-after-free gives a general read primitive over reallocated kernel objects.\nI:H - The devm-freed object is still dereferenced through `sd->ops` and `sd->internal_ops` function pointers on later subdev ioctls and async-notifier matching, so heap-spraying the freed allocation yields a write and control-flow hijack primitive.\nA:H - Reading the orphaned world-readable `priv_mem` sysfs file dereferences a NULL `dev_get_drvdata()` result and oopses the kernel, and the use-after-free on the still-registered subdev/media entity causes further crashes."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/media/i2c/et8ek8/et8ek8_driver.c"
                    ],
                    "versions": [
                        {
                            "version": "c5254e72b8edc2ca0a98703e92e8c34959343d2c",
                            "lessThan": "963523600d9f1e36bc35ba774c2493d6baa4dd8f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c5254e72b8edc2ca0a98703e92e8c34959343d2c",
                            "lessThan": "ece3fc1c10197052044048bea4f13cfdcf25b416",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c5254e72b8edc2ca0a98703e92e8c34959343d2c",
                            "lessThan": "04d1086a62ac492ebb6bb0c94c1c8cb55f5d1f36",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c5254e72b8edc2ca0a98703e92e8c34959343d2c",
                            "lessThan": "c1a3803e5bb91c13e9ad582003e4288f67f06cd9",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c5254e72b8edc2ca0a98703e92e8c34959343d2c",
                            "lessThan": "43fff07e4b1956d0e5cf23717507e438278ea3d9",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c5254e72b8edc2ca0a98703e92e8c34959343d2c",
                            "lessThan": "904db2ba44ae60641b6378c5013254d09acf5e80",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c5254e72b8edc2ca0a98703e92e8c34959343d2c",
                            "lessThan": "545b215736c5c4b354e182d99c578a472ac9bfce",
                            "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/media/i2c/et8ek8/et8ek8_driver.c"
                    ],
                    "versions": [
                        {
                            "version": "4.11",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "4.11",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.236",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.180",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.133",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.33",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.8.12",
                            "lessThanOrEqual": "6.8.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.9.3",
                            "lessThanOrEqual": "6.9.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.10",
                            "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.11",
                                    "versionEndExcluding": "5.10.236"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "5.15.180"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.1.133"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.6.33"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.8.12"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.9.3"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.11",
                                    "versionEndExcluding": "6.10"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/963523600d9f1e36bc35ba774c2493d6baa4dd8f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ece3fc1c10197052044048bea4f13cfdcf25b416"
                },
                {
                    "url": "https://git.kernel.org/stable/c/04d1086a62ac492ebb6bb0c94c1c8cb55f5d1f36"
                },
                {
                    "url": "https://git.kernel.org/stable/c/c1a3803e5bb91c13e9ad582003e4288f67f06cd9"
                },
                {
                    "url": "https://git.kernel.org/stable/c/43fff07e4b1956d0e5cf23717507e438278ea3d9"
                },
                {
                    "url": "https://git.kernel.org/stable/c/904db2ba44ae60641b6378c5013254d09acf5e80"
                },
                {
                    "url": "https://git.kernel.org/stable/c/545b215736c5c4b354e182d99c578a472ac9bfce"
                }
            ],
            "title": "media: i2c: et8ek8: Don't strip remove function when driver is builtin",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/c1a3803e5bb91c13e9ad582003e4288f67f06cd9",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/43fff07e4b1956d0e5cf23717507e438278ea3d9",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/904db2ba44ae60641b6378c5013254d09acf5e80",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/545b215736c5c4b354e182d99c578a472ac9bfce",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html"
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-11-03T19:30:17.590Z"
                }
            },
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2024-38611",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2024-09-10T17:13:05.584089Z"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-09-11T17:34:53.519Z"
                }
            }
        ]
    }
}