{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38679","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-04-16T04:51:24.031Z","datePublished":"2025-09-04T15:32:35.131Z","dateUpdated":"2026-08-05T12:03:55.753Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:03:55.753Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: venus: Fix OOB read due to missing payload bound check\n\nCurrently, The event_seq_changed() handler processes a variable number\nof properties sent by the firmware. The number of properties is indicated\nby the firmware and used to iterate over the payload. However, the\npayload size is not being validated against the actual message length.\n\nThis can lead to out-of-bounds memory access if the firmware provides a\nproperty count that exceeds the data available in the payload. Such a\ncondition can result in kernel crashes or potential information leaks if\nmemory beyond the buffer is accessed.\n\nFix this by properly validating the remaining size of the payload before\neach property access and updating bounds accordingly as properties are\nparsed.\n\nThis ensures that property parsing is safely bounded within the received\nmessage buffer and protects against malformed or malicious firmware\nbehavior."}],"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 parser is reached by driving the Venus decoder through the local V4L2 device node /dev/videoX (open, S_FMT, QBUF of a bitstream), with the malformed HFI event delivered from the on-SoC video firmware over an in-kernel shared-memory queue that is not exposed to any network. No remote or adjacent-network protocol touches this code.\nAC:L - There is no race, no memory-layout precondition and no state the attacker cannot create: any HFI sequence-changed packet whose event_data2 exceeds the payload deterministically walks the parser off the end of pkt_buf, and the attacker supplies the crafted bitstream that drives the firmware and can repeat the decode session arbitrarily.\nPR:L - Exploitation requires only the ability to open the venus decoder node and submit a stream — an ordinary unprivileged local user in the video group on Linux, or any app using MediaCodec on Android. No CAP_SYS_ADMIN or root is needed anywhere on the path.\nUI:N - The attacking process performs the decode itself; no separate victim has to open a file, mount anything, or interact in any way.\nS:U - The out-of-bounds read occurs in kernel memory and its effects (disclosure, panic, corrupted decoder state) stay within the kernel's own security authority; no hypervisor, IOMMU or sandbox boundary is crossed.\nC:H - The read is unbounded — a firmware-supplied property count of up to 2^32 walks arbitrarily far past the 12 KB pkt_buf — and the harvested words are handed to userspace via inst->crop (raw and unclamped through VIDIOC_G_SELECTION), fw_min_cnt and bit_depth/fmt_cap, giving a repeatable kernel-memory disclosure primitive rather than a few bounded bytes.\nI:L - The OOB data is not merely read but stored into driver state — crop rectangle, minimum buffer count, and the bit-depth that selects NV12 vs P010 capture format — so attacker-influenced garbage corrupts the session's format and buffer-sizing decisions; there is no out-of-bounds write, so impact stops short of arbitrary modification.\nA:H - Walking far past the allocation reliably reaches unmapped memory and faults inside the IRQ thread (kernel oops/panic), and an unrecognized ptype leaves data_ptr stationary so the loop can spin up to 2^32 iterations in that thread, producing a soft lockup and wedging the video subsystem."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/platform/qcom/venus/hfi_msgs.c"],"versions":[{"version":"09c2845e8fe4fcab942929480203f504a6e0a114","lessThan":"a3eef5847603cd8a4110587907988c3f93c9605a","status":"affected","versionType":"git"},{"version":"09c2845e8fe4fcab942929480203f504a6e0a114","lessThan":"8f274e2b05fdae7a53cee83979202b5ecb49035c","status":"affected","versionType":"git"},{"version":"09c2845e8fe4fcab942929480203f504a6e0a114","lessThan":"6f08bfb5805637419902f3d70069fe17a404545b","status":"affected","versionType":"git"},{"version":"09c2845e8fe4fcab942929480203f504a6e0a114","lessThan":"c956c3758510b448b3d4d10d1da8230e8c9bf668","status":"affected","versionType":"git"},{"version":"09c2845e8fe4fcab942929480203f504a6e0a114","lessThan":"bed4921055dd7bb4d2eea2729852ae18cf97a2c6","status":"affected","versionType":"git"},{"version":"09c2845e8fe4fcab942929480203f504a6e0a114","lessThan":"06d6770ff0d8cc8dfd392329a8cc03e2a83e7289","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/platform/qcom/venus/hfi_msgs.c"],"versions":[{"version":"4.13","status":"affected"},{"version":"0","lessThan":"4.13","status":"unaffected","versionType":"semver"},{"version":"6.1.149","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.103","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.43","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.15.11","lessThanOrEqual":"6.15.*","status":"unaffected","versionType":"semver"},{"version":"6.16.2","lessThanOrEqual":"6.16.*","status":"unaffected","versionType":"semver"},{"version":"6.17","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.13","versionEndExcluding":"6.1.149"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.6.103"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.12.43"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.15.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.16.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.17"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/a3eef5847603cd8a4110587907988c3f93c9605a"},{"url":"https://git.kernel.org/stable/c/8f274e2b05fdae7a53cee83979202b5ecb49035c"},{"url":"https://git.kernel.org/stable/c/6f08bfb5805637419902f3d70069fe17a404545b"},{"url":"https://git.kernel.org/stable/c/c956c3758510b448b3d4d10d1da8230e8c9bf668"},{"url":"https://git.kernel.org/stable/c/bed4921055dd7bb4d2eea2729852ae18cf97a2c6"},{"url":"https://git.kernel.org/stable/c/06d6770ff0d8cc8dfd392329a8cc03e2a83e7289"}],"title":"media: venus: Fix OOB read due to missing payload bound check","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"}],"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2025-11-03T17:41:03.792Z"}},{"x_adpType":"supplier","providerMetadata":{"orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","shortName":"siemens-SADP","dateUpdated":"2026-05-12T12:05:20.270Z"},"affected":[{"vendor":"Siemens","product":"SIMATIC CN 4100","versions":[{"status":"affected","version":"0","lessThan":"V5.0","versionType":"custom"}],"defaultStatus":"unknown"}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-032379.html"}]}]}}