{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-26967", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-02-19T14:20:24.202Z", "datePublished": "2024-05-01T05:19:41.040Z", "dateUpdated": "2026-08-05T11:28:43.000Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:28:43.000Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nclk: qcom: camcc-sc8280xp: fix terminating of frequency table arrays\n\nThe frequency table arrays are supposed to be terminated with an\nempty element. Add such entry to the end of the arrays where it\nis missing in order to avoid possible out-of-bound access when\nthe table is traversed by functions like qcom_find_freq() or\nqcom_find_freq_floor().\n\nOnly compile tested." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H", "baseScore": 7.3, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:L - The vulnerable frequency-table walk is reached through the clock framework driven by local device interfaces — V4L2/media-controller ioctls on /dev/video* and /dev/v4l-subdev* that feed sensor link frequencies into clk_round_rate()/clk_set_rate() on camcc clocks, plus the clk debugfs rate interface. There is no network-facing path to a SoC clock controller.\nAC:L - Triggering the out-of-bounds walk is deterministic — any rate request exceeding the table's highest entry runs past the missing sentinel, with no race to win and no memory-layout precondition needed to cause the overrun itself. Only the exact contents read beyond the array depend on link layout, not the ability to trigger the bug.\nPR:L - An unprivileged local account with access to the camera device nodes (video group membership or a logind ACL on an active console session, the default on sc8280xp laptop distros) can drive format/link-frequency negotiation into the camcc rate requests. No root or CAP_SYS_ADMIN is required.\nUI:N - The attacker drives the entire sequence themselves by opening the camera device and negotiating a format or requesting a rate; no action by another user or administrator is needed.\nS:U - The out-of-bounds read, the bogus register programming, and any resulting crash are all confined to the kernel's own security authority on the affected SoC. No VM, IOMMU, or sandbox boundary is crossed.\nC:H - The traversal reads an unbounded distance past the end of the array through adjacent kernel .rodata, and the out-of-bounds freq value is propagated back to callers via req->rate = f->freq in _freq_tbl_determine_rate() and into readable clock state, disclosing kernel image memory. This is not a strictly bounded few-byte read.\nI:L - The pre_div, m and n fields of the out-of-bounds entry are written without validation into the RCG M/N/D and CFG registers by __clk_rcg2_configure_mnd(), programming the camera clock tree with an out-of-table mux and divider configuration. This is genuine unintended modification of device state, but it yields no memory-write or control-flow primitive.\nA:H - The unterminated walk can run past the end of the mapped rodata region and fault, producing a kernel oops, and programming a garbage divider/source onto a live camera/CPAS clock can wedge the subsystem's bus accesses and hang the device. Per kernel scoring guidance any such crash or hang is High." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/clk/qcom/camcc-sc8280xp.c" ], "versions": [ { "version": "ff93872a9c6168992ee41f2da9d9c3b8a6f8a8e5", "lessThan": "93ff48729211dae55df5d216023be4528d29babb", "status": "affected", "versionType": "git" }, { "version": "ff93872a9c6168992ee41f2da9d9c3b8a6f8a8e5", "lessThan": "6a3d70f7802a98e6c28a74f997a264118b9f50cd", "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/clk/qcom/camcc-sc8280xp.c" ], "versions": [ { "version": "6.8", "status": "affected" }, { "version": "0", "lessThan": "6.8", "status": "unaffected", "versionType": "semver" }, { "version": "6.8.3", "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": "6.8", "versionEndExcluding": "6.8.3" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.8", "versionEndExcluding": "6.9" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/93ff48729211dae55df5d216023be4528d29babb" }, { "url": "https://git.kernel.org/stable/c/6a3d70f7802a98e6c28a74f997a264118b9f50cd" } ], "title": "clk: qcom: camcc-sc8280xp: fix terminating of frequency table arrays", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2024-08-02T00:21:05.625Z" }, "title": "CVE Program Container", "references": [ { "url": "https://git.kernel.org/stable/c/93ff48729211dae55df5d216023be4528d29babb", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/6a3d70f7802a98e6c28a74f997a264118b9f50cd", "tags": [ "x_transferred" ] } ] }, { "metrics": [ { "other": { "type": "ssvc", "content": { "id": "CVE-2024-26967", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2024-09-10T15:45:19.880928Z" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-09-11T17:33:45.901Z" } } ] } }