{
    "dataType": "CVE_RECORD",
    "cveMetadata": {
        "cveId": "CVE-2024-35785",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-05-17T12:19:12.338Z",
        "datePublished": "2024-05-17T12:24:28.069Z",
        "dateUpdated": "2026-08-05T11:29:53.994Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:29:53.994Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntee: optee: Fix kernel panic caused by incorrect error handling\n\nThe error path while failing to register devices on the TEE bus has a\nbug leading to kernel panic as follows:\n\n[   15.398930] Unable to handle kernel paging request at virtual address ffff07ed00626d7c\n[   15.406913] Mem abort info:\n[   15.409722]   ESR = 0x0000000096000005\n[   15.413490]   EC = 0x25: DABT (current EL), IL = 32 bits\n[   15.418814]   SET = 0, FnV = 0\n[   15.421878]   EA = 0, S1PTW = 0\n[   15.425031]   FSC = 0x05: level 1 translation fault\n[   15.429922] Data abort info:\n[   15.432813]   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000\n[   15.438310]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0\n[   15.443372]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0\n[   15.448697] swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000000d9e3e000\n[   15.455413] [ffff07ed00626d7c] pgd=1800000bffdf9003, p4d=1800000bffdf9003, pud=0000000000000000\n[   15.464146] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP\n\nCommit 7269cba53d90 (\"tee: optee: Fix supplicant based device enumeration\")\nlead to the introduction of this bug. So fix it appropriately."
                }
            ],
            "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 vulnerable code is reached only by opening the local character device /dev/teepriv0, which schedules optee_bus_scan() → optee_enumerate_devices(PTA_CMD_GET_DEVICES_SUPP); there is no network or remote-peer input anywhere on the path.\nAC:L - On an affected platform the device_register() failure is deterministic (the reporter hit the panic on every boot at ~15s), so an attacker who triggers the supplicant enumeration reliably lands on the use-after-free; the freed slab object is a generic GFP_KERNEL kmalloc allocation that can be sprayed from userspace, and the failure can additionally be induced via attacker-generated memory pressure (-ENOMEM in kobject_add/kernfs).\nPR:L - The kernel imposes no capability or permission check in tee_open()/optee_open() for the privileged node — access is governed purely by udev/DAC, and OP-TEE's shipped rules expose teepriv[0-9]* at mode 0660 with a group plus TAG+=\"uaccess\", so an ordinary local user in the teepriv group or at the local seat can open it and trigger the scan.\nUI:N - The attacker opens /dev/teepriv0 themselves to schedule the bus-scan work; no victim action is required, and in the natural case the crash occurs unattended when the tee-supplicant system daemon starts at boot.\nS:U - The freed object and all corrupted structures (struct tee_client_device, kobject, kernfs nodes) live in normal kernel memory under the same security authority; nothing crosses into the secure world, a hypervisor, or an IOMMU boundary.\nC:H - The use-after-free dereferences attacker-groomable freed memory through a chain of pointers (kobj->sd → parent->priv → kobj->ktype->sysfs_ops), giving a controllable read primitive over arbitrary kernel addresses once the slab object is reallocated with attacker data.\nI:H - The same UAF drives __kernfs_create_file() and kobject_get_ownership() through attacker-controlled pointers, producing writes into attacker-chosen addresses (kernfs rbtree links, parent->dir.subdirs) and an indirect call via ktype->get_ownership — sufficient for control-flow hijack and privilege escalation.\nA:H - The bug is a confirmed kernel panic (Oops with a level-1 translation fault in the optee_bus_scan kworker), and on affected platforms it reproduces every boot, rendering the system unusable."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/tee/optee/device.c"
                    ],
                    "versions": [
                        {
                            "version": "a953e45ebeae9a5ce342c012f7eb2a92cc8af89b",
                            "lessThan": "bc40ded92af55760d12bec8222d4108de725dbe4",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "01c13d8a95e0909f0081d6e3e8a891761992371b",
                            "lessThan": "4b12ff5edd141926d49c9ace4791adf3a4902fe7",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "1c9561b438cbe61e78515fc7b16dc7fb8cf0b763",
                            "lessThan": "e5b5948c769aa1ebf962dddfb972f87d8f166f95",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d3c4786b01aad8c377718f92d6d9b15906ee0a2a",
                            "lessThan": "520f79c110ff712b391b3d87fcacf03c74bc56ee",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "7269cba53d906cf257c139d3b3a53ad272176bca",
                            "lessThan": "bfa344afbe472a9be08f78551fa2190c1a07d7d3",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "7269cba53d906cf257c139d3b3a53ad272176bca",
                            "lessThan": "95915ba4b987cf2b222b0f251280228a1ff977ac",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "5.10.204",
                            "lessThan": "5.10.215",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.143",
                            "lessThan": "5.15.154",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.68",
                            "lessThan": "6.1.84",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.7",
                            "lessThan": "6.6.24",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/tee/optee/device.c"
                    ],
                    "versions": [
                        {
                            "version": "6.7",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.7",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.215",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.154",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.84",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.24",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.7.12",
                            "lessThanOrEqual": "6.7.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.8",
                            "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.204",
                                    "versionEndExcluding": "5.10.215"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15.143",
                                    "versionEndExcluding": "5.15.154"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.1.68",
                                    "versionEndExcluding": "6.1.84"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.6.7",
                                    "versionEndExcluding": "6.6.24"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.7",
                                    "versionEndExcluding": "6.7.12"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.7",
                                    "versionEndExcluding": "6.8"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/bc40ded92af55760d12bec8222d4108de725dbe4"
                },
                {
                    "url": "https://git.kernel.org/stable/c/4b12ff5edd141926d49c9ace4791adf3a4902fe7"
                },
                {
                    "url": "https://git.kernel.org/stable/c/e5b5948c769aa1ebf962dddfb972f87d8f166f95"
                },
                {
                    "url": "https://git.kernel.org/stable/c/520f79c110ff712b391b3d87fcacf03c74bc56ee"
                },
                {
                    "url": "https://git.kernel.org/stable/c/bfa344afbe472a9be08f78551fa2190c1a07d7d3"
                },
                {
                    "url": "https://git.kernel.org/stable/c/95915ba4b987cf2b222b0f251280228a1ff977ac"
                }
            ],
            "title": "tee: optee: Fix kernel panic caused by incorrect error handling",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-02T03:21:47.405Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/bc40ded92af55760d12bec8222d4108de725dbe4",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/4b12ff5edd141926d49c9ace4791adf3a4902fe7",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/e5b5948c769aa1ebf962dddfb972f87d8f166f95",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/520f79c110ff712b391b3d87fcacf03c74bc56ee",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/bfa344afbe472a9be08f78551fa2190c1a07d7d3",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/95915ba4b987cf2b222b0f251280228a1ff977ac",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            },
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2024-35785",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2024-09-10T15:42:54.358717Z"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-09-11T17:33:23.278Z"
                }
            }
        ]
    },
    "dataVersion": "5.2"
}