Files
vuln-cve/data/2024/35xxx/CVE-2024-35785.json
T

332 lines
17 KiB
JSON

{
"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"
}