In the Linux kernel, the following vulnerability has been resolved:
media: vivid: fix compose size exceed boundary
syzkaller found a bug:
BUG: unable to handle page fault for address: ffffc9000a3b1000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 100000067 P4D 100000067 PUD 10015f067 PMD 1121ca067 PTE 0
Oops: 0002 [#1] PREEMPT SMP
CPU: 0 PID: 23489 Comm: vivid-000-vid-c Not tainted 6.1.0-rc1+ #512
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
RIP: 0010:memcpy_erms+0x6/0x10
[…]
Call Trace:
<TASK>
? tpg_fill_plane_buffer+0x856/0x15b0
vivid_fillbuff+0x8ac/0x1110
vivid_thread_vid_cap_tick+0x361/0xc90
vivid_thread_vid_cap+0x21a/0x3a0
kthread+0x143/0x180
ret_from_fork+0x1f/0x30
</TASK>
This is because we forget to check boundary after adjust compose->height
int V4L2_SEL_TGT_CROP case. Add v4l2_rect_map_inside() to fix this problem
for this case.
Vendor | Product | Version | CPE |
---|---|---|---|
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/media/test-drivers/vivid/vivid-vid-cap.c"
],
"versions": [
{
"version": "ef834f7836ec",
"lessThan": "8c0ee15d9a10",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "5edc36041519",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "9c7fba9503b8",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "54f259906039",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "f9d19f3a044c",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "ab54081a2843",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "ccb5392c4fea",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "2f558c5208b0",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec",
"lessThan": "94a7ad928346",
"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/test-drivers/vivid/vivid-vid-cap.c"
],
"versions": [
{
"version": "3.18",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.18",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.9.337",
"lessThanOrEqual": "4.9.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.14.303",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.270",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.229",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.163",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.86",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.0.16",
"lessThanOrEqual": "6.0.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.2",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.2",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/2f558c5208b0f70c8140e08ce09fcc84da48e789
git.kernel.org/stable/c/54f259906039dbfe46c550011409fa16f72370f6
git.kernel.org/stable/c/5edc3604151919da8da0fb092b71d7dce07d848a
git.kernel.org/stable/c/8c0ee15d9a102c732d0745566d254040085d5663
git.kernel.org/stable/c/94a7ad9283464b75b12516c5512541d467cefcf8
git.kernel.org/stable/c/9c7fba9503b826f0c061d136f8f0c9f953ed18b9
git.kernel.org/stable/c/ab54081a2843aefb837812fac5488cc8f1696142
git.kernel.org/stable/c/ccb5392c4fea0e7d9f7ab35567e839d74cb3998b
git.kernel.org/stable/c/f9d19f3a044ca651b0be52a4bf951ffe74259b9f