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 tpgfillplanepattern drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2608 [inline] BUG: KASAN: vmalloc-out-of-bounds in tpgfillplanebuffer+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> _dumpstack lib/dumpstack.c:94 [inline] dumpstacklvl+0x241/0x360 lib/dumpstack.c:120 printaddressdescription mm/kasan/report.c:378 [inline] printreport+0x169/0x550 mm/kasan/report.c:489 kasanreport+0x143/0x180 mm/kasan/report.c:602 kasancheckrange+0x282/0x290 mm/kasan/generic.c:189 _asanmemcpy+0x40/0x70 mm/kasan/shadow.c:106 tpgfillplanepattern drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2608 [inline] tpgfillplanebuffer+0x1a9c/0x5af0 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2705 vividfillbuff drivers/media/test-drivers/vivid/vivid-kthread-cap.c:470 [inline] vividthreadvidcaptick+0xf8e/0x60d0 drivers/media/test-drivers/vivid/vivid-kthread-cap.c:629 vividthreadvidcap+0x8aa/0xf30 drivers/media/test-drivers/vivid/vivid-kthread-cap.c:767 kthread+0x7a9/0x920 kernel/kthread.c:464 retfromfork+0x4b/0x80 arch/x86/kernel/process.c:148 retfromforkasm+0x1a/0x30 arch/x86/entry/entry64.S:244 </TASK>
The composition size cannot be larger than the size of fmtcaprect. So execute v4l2rectmapinside() even if hascompose_cap == 0.
[
{
"digest": {
"length": 3697.0,
"function_hash": "83577282517484820082435169845033832091"
},
"target": {
"function": "vivid_vid_cap_s_selection",
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89b5ab822bf69867c3951dd0eb34b0314c38966b",
"id": "CVE-2025-38226-24f91f45",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"319806689529969808698300402629239160193",
"290777624647239643168997888307005266786",
"3240176281037276453523438500084486672",
"284622931402068701754805259491936227015",
"150388169256240914949308225601436189431"
],
"threshold": 0.9
},
"target": {
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d89aa42534723400fefd46e26e053b9c382b4ee",
"id": "CVE-2025-38226-37c969a1",
"signature_type": "Line"
},
{
"digest": {
"length": 3484.0,
"function_hash": "226411151916735733041136089749024572118"
},
"target": {
"function": "vivid_vid_cap_s_selection",
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f6b1b0f8ba0b61d8b511df5649d57235f230c135",
"id": "CVE-2025-38226-5bc80654",
"signature_type": "Function"
},
{
"digest": {
"length": 3697.0,
"function_hash": "83577282517484820082435169845033832091"
},
"target": {
"function": "vivid_vid_cap_s_selection",
"file": "drivers/media/platform/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@57597d8db5bbda618ba2145b7e8a7e6f01b6a27e",
"id": "CVE-2025-38226-64ae5e6d",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"319806689529969808698300402629239160193",
"290777624647239643168997888307005266786",
"3240176281037276453523438500084486672",
"284622931402068701754805259491936227015",
"150388169256240914949308225601436189431"
],
"threshold": 0.9
},
"target": {
"file": "drivers/media/platform/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@57597d8db5bbda618ba2145b7e8a7e6f01b6a27e",
"id": "CVE-2025-38226-6e1dba0f",
"signature_type": "Line"
},
{
"digest": {
"length": 3697.0,
"function_hash": "83577282517484820082435169845033832091"
},
"target": {
"function": "vivid_vid_cap_s_selection",
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d89aa42534723400fefd46e26e053b9c382b4ee",
"id": "CVE-2025-38226-83f6f500",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"319806689529969808698300402629239160193",
"290777624647239643168997888307005266786",
"3240176281037276453523438500084486672",
"284622931402068701754805259491936227015",
"150388169256240914949308225601436189431"
],
"threshold": 0.9
},
"target": {
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f83ac8d30c43fd902af7c84c480f216157b60ef0",
"id": "CVE-2025-38226-af3fa741",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"319806689529969808698300402629239160193",
"290777624647239643168997888307005266786",
"3240176281037276453523438500084486672",
"284622931402068701754805259491936227015",
"150388169256240914949308225601436189431"
],
"threshold": 0.9
},
"target": {
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89b5ab822bf69867c3951dd0eb34b0314c38966b",
"id": "CVE-2025-38226-b6f014a0",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"319806689529969808698300402629239160193",
"290777624647239643168997888307005266786",
"3240176281037276453523438500084486672",
"284622931402068701754805259491936227015",
"150388169256240914949308225601436189431"
],
"threshold": 0.9
},
"target": {
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f6b1b0f8ba0b61d8b511df5649d57235f230c135",
"id": "CVE-2025-38226-be10ceab",
"signature_type": "Line"
},
{
"digest": {
"length": 3484.0,
"function_hash": "226411151916735733041136089749024572118"
},
"target": {
"function": "vivid_vid_cap_s_selection",
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f83ac8d30c43fd902af7c84c480f216157b60ef0",
"id": "CVE-2025-38226-ca87c521",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"319806689529969808698300402629239160193",
"290777624647239643168997888307005266786",
"3240176281037276453523438500084486672",
"284622931402068701754805259491936227015",
"150388169256240914949308225601436189431"
],
"threshold": 0.9
},
"target": {
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@00da1c767a6567e56f23dda586847586868ac064",
"id": "CVE-2025-38226-dff31a07",
"signature_type": "Line"
},
{
"digest": {
"length": 3484.0,
"function_hash": "226411151916735733041136089749024572118"
},
"target": {
"function": "vivid_vid_cap_s_selection",
"file": "drivers/media/test-drivers/vivid/vivid-vid-cap.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@00da1c767a6567e56f23dda586847586868ac064",
"id": "CVE-2025-38226-eae0d039",
"signature_type": "Function"
}
]