CVE-2025-38226: media: vivid: Change the siize of the composing
In the Linux kernel, the following vulnerability has been resolved:
media: vivid: Change the siize of the composing
syzkaller found a bug:
BUG: KASAN: vmalloc-out-of-bounds in tpg_fill_plane_pattern drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2608 [inline]
BUG: KASAN: vmalloc-out-of-bounds in tpg_fill_plane_buffer+0x1a9c/0x5af0 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2705
Write of size 1440 at addr ffffc9000d0ffda0 by task vivid-000-vid-c/5304
CPU: 0 UID: 0 PID: 5304 Comm: vivid-000-vid-c Not tainted 6.14.0-rc2-syzkaller-00039-g09fbf3d50205 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:378 [inline]
print_report+0x169/0x550 mm/kasan/report.c:489
kasan_report+0x143/0x180 mm/kasan/report.c:602
kasan_check_range+0x282/0x290 mm/kasan/generic.c:189
__asan_memcpy+0x40/0x70 mm/kasan/shadow.c:106
tpg_fill_plane_pattern drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2608 [inline]
tpg_fill_plane_buffer+0x1a9c/0x5af0 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2705
vivid_fillbuff drivers/media/test-drivers/vivid/vivid-kthread-cap.c:470 [inline]
vivid_thread_vid_cap_tick+0xf8e/0x60d0 drivers/media/test-drivers/vivid/vivid-kthread-cap.c:629
vivid_thread_vid_cap+0x8aa/0xf30 drivers/media/test-drivers/vivid/vivid-kthread-cap.c:767
kthread+0x7a9/0x920 kernel/kthread.c:464
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
</TASK>
The composition size cannot be larger than the size of fmt_cap_rect.
So execute v4l2_rect_map_inside() even if has_compose_cap == 0.
Security readout for executives and security teams
Plain-English summary
A flaw in Linux's vivid virtual video test driver can let a low-privileged local user trigger an out-of-bounds kernel write. This may crash the system and could affect confidentiality, integrity, or availability. The issue is rated CVSS 7.8, but the supplied evidence does not establish practical privilege escalation.
Executive priority
Treat this as high priority on shared, development, testing, or media-processing Linux systems where vivid is available to untrusted local users. For systems without the driver or local-user exposure, confirm applicability promptly and remediate through normal accelerated kernel maintenance rather than emergency internet-edge response.
Technical view
The vivid capture path could permit a composition rectangle larger than fmt_cap_rect when composition capability was disabled. During test-pattern generation, this caused a vmalloc out-of-bounds write detected by KASAN. The documented correction applies v4l2_rect_map_inside() regardless of the capability flag, constraining the composition dimensions.
Likely exposure
Exposure requires a vulnerable Linux kernel, the vivid media test driver, and local low-privileged access. This is not described as a remote network vulnerability. The bundle's flattened version data is ambiguous, so distribution package status or inclusion of the referenced fixes should determine exposure.
Exploitation context
Syzkaller triggered the flaw and KASAN confirmed an out-of-bounds write. The CVSS vector indicates local access, low privileges, low complexity, and no user interaction. The CVE is not in KEV, and the supplied sources provide no evidence of active exploitation or a public weaponized exploit.
Researcher notes
No CWE is supplied. The evidence demonstrates a kernel memory-safety violation in the vivid capture thread, but not reliable code execution or privilege escalation. Version interpretation needs vendor confirmation because the bundled affected records mix commit identifiers, releases, and conflicting default-status groupings. Multiple Linux stable commits and Debian LTS notices indicate backported remediation.
Mitigation direction
Install a vendor-supported kernel that incorporates applicable referenced Linux stable fixes.
Use distribution advisories to map installed kernel packages to fixed builds; bundle version boundaries are ambiguous.
Prioritize remediation where vivid is present and untrusted local users can access video devices.
If updating is delayed, ask the vendor whether disabling vivid is a supported temporary control.
Validation and detection
Inventory exact kernel and distribution package versions across Linux systems.
Determine whether the vivid test driver is built, loadable, loaded, or exposed to untrusted users.
Verify the installed kernel includes a referenced stable fix or an equivalent vendor backport.
Review kernel logs for the cited KASAN or vmalloc-out-of-bounds signature; absence does not prove safety.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-38226 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
11Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.