{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50757","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-24T13:02:21.545Z","datePublished":"2025-12-24T13:05:50.399Z","dateUpdated":"2026-08-05T08:59:43.420Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:59:43.420Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: camss: Clean up received buffers on failed start of streaming\n\nIt is required to return the received buffers, if streaming can not be\nstarted. For instance media_pipeline_start() may fail with EPIPE, if\na link validation between entities is not passed, and in such a case\na user gets a kernel warning:\n\n  WARNING: CPU: 1 PID: 520 at drivers/media/common/videobuf2/videobuf2-core.c:1592 vb2_start_streaming+0xec/0x160\n  <snip>\n  Call trace:\n   vb2_start_streaming+0xec/0x160\n   vb2_core_streamon+0x9c/0x1a0\n   vb2_ioctl_streamon+0x68/0xbc\n   v4l_streamon+0x30/0x3c\n   __video_do_ioctl+0x184/0x3e0\n   video_usercopy+0x37c/0x7b0\n   video_ioctl2+0x24/0x40\n   v4l2_ioctl+0x4c/0x70\n\nThe fix is to correct the error path in video_start_streaming() of camss."}],"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 vulnerable path is reached only through local V4L2 ioctls (VIDIOC_REQBUFS/QBUF/STREAMON) on the Qualcomm CAMSS /dev/video node; there is no network or adjacent-protocol entry point.\nAC:L - The attacker fully controls the failure condition by configuring an invalid media pipeline (e.g., disabled links or link validation failure with EPIPE) and then calling STREAMON; the missing flush is deterministic with no race beyond attacker control.\nPR:L - video_open() and the STREAMON path perform no capability checks; only permission to open the camera video device (video group, seat ACL, or Android CAMERA-permission context) is required, which is basic unprivileged local access.\nUI:N - The attacker issues the open/queue/streamon/reqbufs sequence from their own process; no victim interaction is required.\nS:U - Impact is confined to kernel heap and CAMSS driver state within the same OS security authority; the bug does not cross a VM, IOMMU, or sandbox boundary by itself.\nC:H - Failing to flush leaves buffers on output->pending_bufs after vb2 force-reclaims them; a later REQBUFS(0)/release frees those objects while the driver still holds list pointers, creating a use-after-free that can disclose reclaimed heap contents.\nI:H - The stale pending_bufs linkage enables list corruption (INIT_LIST_HEAD/list_del on still-linked or freed nodes) and heap UAF write primitives when the queue is reused or cancelled, which is treated as high integrity impact under conservative memory-corruption scoring.\nA:H - The bug immediately triggers WARN_ON in vb2_start_streaming, and the resulting UAF/list corruption can oops or panic the kernel, giving high availability impact."}]}],"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/camss/camss-video.c"],"versions":[{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"75954cde8a5ca84003b24b6bf83197240935bd74","status":"affected","versionType":"git"},{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"04c734c716a97f1493b1edac41316aaed1d2a9d9","status":"affected","versionType":"git"},{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"fe443b3fe36cd23d4f5dc6d825d34322e7c89f0c","status":"affected","versionType":"git"},{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"3d5cab726e3b370fea1b6e67183f0e13c409ce5c","status":"affected","versionType":"git"},{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"d1c44928bb3ca0ec88e7ad5937a2a26a259aede6","status":"affected","versionType":"git"},{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"f05326a440dc31b91b688b2f3f15b7347894a50b","status":"affected","versionType":"git"},{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"24df4fa3e795fb4b15fd4d3c036596e0978d265a","status":"affected","versionType":"git"},{"version":"0ac2586c410fe00d58dd09bf270a22f25d5287b8","lessThan":"c8f3582345e6a69da65ab588f7c4c2d1685b0e80","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/camss/camss-video.c"],"versions":[{"version":"4.14","status":"affected"},{"version":"0","lessThan":"4.14","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":"4.14","versionEndExcluding":"4.14.303"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14","versionEndExcluding":"4.19.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14","versionEndExcluding":"5.4.229"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14","versionEndExcluding":"5.10.163"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14","versionEndExcluding":"5.15.86"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14","versionEndExcluding":"6.0.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14","versionEndExcluding":"6.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14","versionEndExcluding":"6.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/75954cde8a5ca84003b24b6bf83197240935bd74"},{"url":"https://git.kernel.org/stable/c/04c734c716a97f1493b1edac41316aaed1d2a9d9"},{"url":"https://git.kernel.org/stable/c/fe443b3fe36cd23d4f5dc6d825d34322e7c89f0c"},{"url":"https://git.kernel.org/stable/c/3d5cab726e3b370fea1b6e67183f0e13c409ce5c"},{"url":"https://git.kernel.org/stable/c/d1c44928bb3ca0ec88e7ad5937a2a26a259aede6"},{"url":"https://git.kernel.org/stable/c/f05326a440dc31b91b688b2f3f15b7347894a50b"},{"url":"https://git.kernel.org/stable/c/24df4fa3e795fb4b15fd4d3c036596e0978d265a"},{"url":"https://git.kernel.org/stable/c/c8f3582345e6a69da65ab588f7c4c2d1685b0e80"}],"title":"media: camss: Clean up received buffers on failed start of streaming","x_generator":{"engine":"bippy-1.2.0"}}}}