{ "dataType": "CVE_RECORD", "cveMetadata": { "cveId": "CVE-2024-35830", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-05-17T12:19:12.348Z", "datePublished": "2024-05-17T13:41:19.675Z", "dateUpdated": "2026-08-05T11:30:11.254Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:30:11.254Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: tc358743: register v4l2 async device only after successful setup\n\nEnsure the device has been setup correctly before registering the v4l2\nasync device, thus allowing userspace to access." } ], "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 through `ioctl()` on the `/dev/v4l-subdev*` character device node created by `v4l2_device_register_subdev_nodes()`, so the attacker needs local system access. No network, RF, or physical-bus path reaches these subdev ops.\nAC:L - The attacker controls their side of the race entirely and can spin on `open()`/`ioctl()`; the node becomes visible the moment `v4l2_async_register_subdev()` returns while probe still has tens of milliseconds of I²C register programming, CEC adapter allocation, and IRQ setup left to run, making the window large and reliably winnable.\nPR:L - Only an open file descriptor on the V4L2 subdev node is needed — `VIDIOC_SUBDEV_S_FMT`, `S_EDID`, and `S_DV_TIMINGS` have no capability check (only `VIDIOC_DBG_*` gate on `CAP_SYS_ADMIN`), and these nodes are routinely accessible to unprivileged users via the `video` group, logind uaccess ACLs, or the Android camera/media UID.\nUI:N - No victim action is required; the attacker acts alone against a driver probe that occurs as a normal system event at boot or module load.\nS:U - The corrupted objects — the `tc358743_state` mutex, the delayed work/timer, and the freed subdev — are all ordinary kernel memory in the same security authority; no hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - Use of the uninitialized `confctl_mutex` and `delayed_work`/`timer_list`, plus the dangling `v4l2_subdev` left registered on the global `subdev_list` after a devm-freed probe failure, give memory-corruption and use-after-free primitives over kernel slab memory that can be groomed into an arbitrary kernel read.\nI:H - `INIT_DELAYED_WORK()` re-initializing a timer already linked into the timer base's hlist, `mutex_init()` racing a live waiter, and dereferencing `sd->ops` from freed memory all yield controlled writes and control-flow hijack potential; on affected trees lacking the `WARN_ON_ONCE(!fn)` guard, `expire_timers()` calls a NULL function pointer outright.\nA:H - The immediate and easily reproduced outcome is a kernel oops or panic — NULL-pointer write via `list_add_tail()` on the zeroed `wait_list`, `WARN_ON(!work->func)` in `__flush_work()` (panic under `panic_on_warn`), timer-base list corruption, or a use-after-free crash." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/media/i2c/tc358743.c" ], "versions": [ { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "17c2650de14842c25c569cbb2126c421489a3a24", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "daf21394f9898fb9f0698c3e50de08132d2164e6", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "610f20e5cf35ca9c0992693cae0dd8643ce932e7", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "b8505a1aee8f1edc9d16d72ae09c93de086e2a1a", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "8ba8db9786b55047df5ad3db3e01dd886687a77d", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "edbb3226c985469a2f8eb69885055c9f5550f468", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "c915c46a25c3efb084c4f5e69a053d7f7a635496", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "4f1490a5d7a0472ee5d9f36547bc4ba46be755c7", "status": "affected", "versionType": "git" }, { "version": "4c5211a100399c3823563193dd881dcb3b7d24fc", "lessThan": "87399f1ff92203d65f1febf5919429f4bb613a02", "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/tc358743.c" ], "versions": [ { "version": "4.3", "status": "affected" }, { "version": "0", "lessThan": "4.3", "status": "unaffected", "versionType": "semver" }, { "version": "4.19.311", "lessThanOrEqual": "4.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.4.273", "lessThanOrEqual": "5.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.214", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.153", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.83", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.23", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.7.11", "lessThanOrEqual": "6.7.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.8.2", "lessThanOrEqual": "6.8.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.9", "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.3", "versionEndExcluding": "4.19.311" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "5.4.273" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "5.10.214" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "5.15.153" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "6.1.83" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "6.6.23" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "6.7.11" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "6.8.2" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.3", "versionEndExcluding": "6.9" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/17c2650de14842c25c569cbb2126c421489a3a24" }, { "url": "https://git.kernel.org/stable/c/daf21394f9898fb9f0698c3e50de08132d2164e6" }, { "url": "https://git.kernel.org/stable/c/610f20e5cf35ca9c0992693cae0dd8643ce932e7" }, { "url": "https://git.kernel.org/stable/c/b8505a1aee8f1edc9d16d72ae09c93de086e2a1a" }, { "url": "https://git.kernel.org/stable/c/8ba8db9786b55047df5ad3db3e01dd886687a77d" }, { "url": "https://git.kernel.org/stable/c/edbb3226c985469a2f8eb69885055c9f5550f468" }, { "url": "https://git.kernel.org/stable/c/c915c46a25c3efb084c4f5e69a053d7f7a635496" }, { "url": "https://git.kernel.org/stable/c/4f1490a5d7a0472ee5d9f36547bc4ba46be755c7" }, { "url": "https://git.kernel.org/stable/c/87399f1ff92203d65f1febf5919429f4bb613a02" } ], "title": "media: tc358743: register v4l2 async device only after successful setup", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2024-08-02T03:21:48.478Z" }, "title": "CVE Program Container", "references": [ { "url": "https://git.kernel.org/stable/c/17c2650de14842c25c569cbb2126c421489a3a24", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/daf21394f9898fb9f0698c3e50de08132d2164e6", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/610f20e5cf35ca9c0992693cae0dd8643ce932e7", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/b8505a1aee8f1edc9d16d72ae09c93de086e2a1a", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/8ba8db9786b55047df5ad3db3e01dd886687a77d", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/edbb3226c985469a2f8eb69885055c9f5550f468", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/c915c46a25c3efb084c4f5e69a053d7f7a635496", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/4f1490a5d7a0472ee5d9f36547bc4ba46be755c7", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/87399f1ff92203d65f1febf5919429f4bb613a02", "tags": [ "x_transferred" ] }, { "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html", "tags": [ "x_transferred" ] }, { "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html", "tags": [ "x_transferred" ] } ] }, { "metrics": [ { "other": { "type": "ssvc", "content": { "id": "CVE-2024-35830", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2024-09-10T15:42:22.059592Z" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-09-11T17:33:20.797Z" } } ] }, "dataVersion": "5.2" }