Files
vuln-cve/data/2022/48xxx/CVE-2022-48945.json
T

319 lines
17 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2022-48945",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-08-22T01:27:53.624Z",
"datePublished": "2024-09-23T09:46:40.851Z",
"dateUpdated": "2026-08-05T08:53:04.470Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:53:04.470Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: vivid: fix compose size exceed boundary\n\nsyzkaller found a bug:\n\n BUG: unable to handle page fault for address: ffffc9000a3b1000\n #PF: supervisor write access in kernel mode\n #PF: error_code(0x0002) - not-present page\n PGD 100000067 P4D 100000067 PUD 10015f067 PMD 1121ca067 PTE 0\n Oops: 0002 [#1] PREEMPT SMP\n CPU: 0 PID: 23489 Comm: vivid-000-vid-c Not tainted 6.1.0-rc1+ #512\n Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014\n RIP: 0010:memcpy_erms+0x6/0x10\n[...]\n Call Trace:\n <TASK>\n ? tpg_fill_plane_buffer+0x856/0x15b0\n vivid_fillbuff+0x8ac/0x1110\n vivid_thread_vid_cap_tick+0x361/0xc90\n vivid_thread_vid_cap+0x21a/0x3a0\n kthread+0x143/0x180\n ret_from_fork+0x1f/0x30\n </TASK>\n\nThis is because we forget to check boundary after adjust compose->height\nint V4L2_SEL_TGT_CROP case. Add v4l2_rect_map_inside() to fix this problem\nfor this case."
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 7.8,
"baseSeverity": "HIGH"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The bug is reached only via local V4L2 ioctls (VIDIOC_S_SELECTION / STREAMON) on the vivid /dev/videoN node; there is no network or adjacent-protocol path into vivid_vid_cap_s_selection or the capture kthread fill path.\nAC:L - An attacker-controlled, race-free ioctl sequence (enable crop+compose+scaler, set a crop that expands compose past fmt) deterministically leaves compose outside the buffer bounds; syzkaller reproduces the page-fault OOB write reliably.\nPR:L - Opening the vivid video node and issuing S_SELECTION requires no capability check—only video-group or seat uaccess on /dev/videoN—and crop/compose/scaler are ordinary unprivileged V4L2 controls (default-enabled).\nUI:N - The attacker opens the device, configures selection/format/streaming themselves; the OOB write then runs in the vivid capture kthread with no victim action.\nS:U - The out-of-bounds write corrupts kernel memory within the host kernel’s security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:H - Heap/vmalloc memory corruption from the oversized compose write is leverageable for kernel information disclosure (same class as CVE-2025-38226), and related loop/copy paths can surface adjacent data into attacker-readable capture buffers.\nI:H - This is an attacker-triggered out-of-bounds write in tpg_fill_plane_buffer (memcpy past the allocated frame buffer via compose.top/height/left), a classic heap corruption primitive suitable for control-flow hijacking.\nA:H - The demonstrated effect is a kernel oops (supervisor write page fault in memcpy_erms during tpg_fill_plane_buffer in the vivid kthread), which can panic the machine and is re-triggerable at will."
}
]
}
],
"affected": [
{
"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": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "8c0ee15d9a102c732d0745566d254040085d5663",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "5edc3604151919da8da0fb092b71d7dce07d848a",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "9c7fba9503b826f0c061d136f8f0c9f953ed18b9",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "54f259906039dbfe46c550011409fa16f72370f6",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "f9d19f3a044ca651b0be52a4bf951ffe74259b9f",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "ab54081a2843aefb837812fac5488cc8f1696142",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "ccb5392c4fea0e7d9f7ab35567e839d74cb3998b",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "2f558c5208b0f70c8140e08ce09fcc84da48e789",
"status": "affected",
"versionType": "git"
},
{
"version": "ef834f7836ec0502f49f20bbc42f1240577a9c83",
"lessThan": "94a7ad9283464b75b12516c5512541d467cefcf8",
"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": "semver"
},
{
"version": "4.9.337",
"lessThanOrEqual": "4.9.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.14.303",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.19.270",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.229",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.163",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.86",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.0.16",
"lessThanOrEqual": "6.0.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.1.2",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.2",
"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": "3.18",
"versionEndExcluding": "4.9.337"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "4.14.303"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "4.19.270"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "5.4.229"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "5.10.163"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "5.15.86"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "6.0.16"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "6.1.2"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.18",
"versionEndExcluding": "6.2"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/8c0ee15d9a102c732d0745566d254040085d5663"
},
{
"url": "https://git.kernel.org/stable/c/5edc3604151919da8da0fb092b71d7dce07d848a"
},
{
"url": "https://git.kernel.org/stable/c/9c7fba9503b826f0c061d136f8f0c9f953ed18b9"
},
{
"url": "https://git.kernel.org/stable/c/54f259906039dbfe46c550011409fa16f72370f6"
},
{
"url": "https://git.kernel.org/stable/c/f9d19f3a044ca651b0be52a4bf951ffe74259b9f"
},
{
"url": "https://git.kernel.org/stable/c/ab54081a2843aefb837812fac5488cc8f1696142"
},
{
"url": "https://git.kernel.org/stable/c/ccb5392c4fea0e7d9f7ab35567e839d74cb3998b"
},
{
"url": "https://git.kernel.org/stable/c/2f558c5208b0f70c8140e08ce09fcc84da48e789"
},
{
"url": "https://git.kernel.org/stable/c/94a7ad9283464b75b12516c5512541d467cefcf8"
}
],
"title": "media: vivid: fix compose size exceed boundary",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"timestamp": "2024-09-29T14:21:20.078497Z",
"id": "CVE-2022-48945",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-09-29T14:21:31.001Z"
}
}
]
}
}