{"api_version":"1","generated_at":"2026-08-13T16:58:40+00:00","cve":"CVE-2026-68204","urls":{"html":"https://cve.report/CVE-2026-68204","api":"https://cve.report/api/cve/CVE-2026-68204.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-68204","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-68204"},"summary":{"title":"media: vivid: check for vb2_is_busy() when toggling caps","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: vivid: check for vb2_is_busy() when toggling caps\n\nThe vivid_update_format_cap/out() functions must only be called if the\ncapture/output queue are not busy. But for the controls that select\nthe CROP/COMPOSE/SCALE capability that is not checked.\n\nOnly when streaming starts will they be set to 'grabbed' and it is\nimpossible to change the control, but between REQBUFS and STREAMON you\nare still allowed to set these controls. Since vivid_update_format_cap/out\nwill change the format, this can cause unexpected results.\n\nBesides adding these checks, also add a WARN_ON in\nvivid_update_format_cap/out() if the queue is busy.\n\nI'm 90% certain that this is the cause of this syzbot bug:\n\nhttps://syzkaller.appspot.com/bug?extid=dac8f5eaa46837e97b89\n\nBut since we never have reproducers, it is hard to be certain. In any case,\nthese checks are needed regardless.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-10 13:20:08","updated_at":"2026-08-10 13:20:08"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/daf2d92669b4a659d805d88d811161c70cd325ee","name":"https://git.kernel.org/stable/c/daf2d92669b4a659d805d88d811161c70cd325ee","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a9cd0e8fb0b21faaa71199d9d3feb305c18ff576","name":"https://git.kernel.org/stable/c/a9cd0e8fb0b21faaa71199d9d3feb305c18ff576","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c2d1a2130c93f6d758af58590b86b2254c7a1dec","name":"https://git.kernel.org/stable/c/c2d1a2130c93f6d758af58590b86b2254c7a1dec","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/abaec6747304581f8d4a9936352fa10e13325f07","name":"https://git.kernel.org/stable/c/abaec6747304581f8d4a9936352fa10e13325f07","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/492c97cb50feaa60ccd7792d3d6b904ed8ec61bf","name":"https://git.kernel.org/stable/c/492c97cb50feaa60ccd7792d3d6b904ed8ec61bf","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-68204","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-68204","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 73c3f48230cda01402ae189b05d56f1f7e0d53c9 a9cd0e8fb0b21faaa71199d9d3feb305c18ff576 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 73c3f48230cda01402ae189b05d56f1f7e0d53c9 abaec6747304581f8d4a9936352fa10e13325f07 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 73c3f48230cda01402ae189b05d56f1f7e0d53c9 492c97cb50feaa60ccd7792d3d6b904ed8ec61bf git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 73c3f48230cda01402ae189b05d56f1f7e0d53c9 daf2d92669b4a659d805d88d811161c70cd325ee git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 73c3f48230cda01402ae189b05d56f1f7e0d53c9 c2d1a2130c93f6d758af58590b86b2254c7a1dec git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3.18","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 3.18 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.148 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.101 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.42 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.6 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/media/test-drivers/vivid/vivid-ctrls.c","drivers/media/test-drivers/vivid/vivid-vid-cap.c","drivers/media/test-drivers/vivid/vivid-vid-out.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"a9cd0e8fb0b21faaa71199d9d3feb305c18ff576","status":"affected","version":"73c3f48230cda01402ae189b05d56f1f7e0d53c9","versionType":"git"},{"lessThan":"abaec6747304581f8d4a9936352fa10e13325f07","status":"affected","version":"73c3f48230cda01402ae189b05d56f1f7e0d53c9","versionType":"git"},{"lessThan":"492c97cb50feaa60ccd7792d3d6b904ed8ec61bf","status":"affected","version":"73c3f48230cda01402ae189b05d56f1f7e0d53c9","versionType":"git"},{"lessThan":"daf2d92669b4a659d805d88d811161c70cd325ee","status":"affected","version":"73c3f48230cda01402ae189b05d56f1f7e0d53c9","versionType":"git"},{"lessThan":"c2d1a2130c93f6d758af58590b86b2254c7a1dec","status":"affected","version":"73c3f48230cda01402ae189b05d56f1f7e0d53c9","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/media/test-drivers/vivid/vivid-ctrls.c","drivers/media/test-drivers/vivid/vivid-vid-cap.c","drivers/media/test-drivers/vivid/vivid-vid-out.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"3.18"},{"lessThan":"3.18","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.148","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.101","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.42","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.6","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.148","versionStartIncluding":"3.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.101","versionStartIncluding":"3.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.42","versionStartIncluding":"3.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.6","versionStartIncluding":"3.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"3.18","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: vivid: check for vb2_is_busy() when toggling caps\n\nThe vivid_update_format_cap/out() functions must only be called if the\ncapture/output queue are not busy. But for the controls that select\nthe CROP/COMPOSE/SCALE capability that is not checked.\n\nOnly when streaming starts will they be set to 'grabbed' and it is\nimpossible to change the control, but between REQBUFS and STREAMON you\nare still allowed to set these controls. Since vivid_update_format_cap/out\nwill change the format, this can cause unexpected results.\n\nBesides adding these checks, also add a WARN_ON in\nvivid_update_format_cap/out() if the queue is busy.\n\nI'm 90% certain that this is the cause of this syzbot bug:\n\nhttps://syzkaller.appspot.com/bug?extid=dac8f5eaa46837e97b89\n\nBut since we never have reproducers, it is hard to be certain. In any case,\nthese checks are needed regardless."}],"providerMetadata":{"dateUpdated":"2026-08-10T12:00:23.311Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/a9cd0e8fb0b21faaa71199d9d3feb305c18ff576"},{"url":"https://git.kernel.org/stable/c/abaec6747304581f8d4a9936352fa10e13325f07"},{"url":"https://git.kernel.org/stable/c/492c97cb50feaa60ccd7792d3d6b904ed8ec61bf"},{"url":"https://git.kernel.org/stable/c/daf2d92669b4a659d805d88d811161c70cd325ee"},{"url":"https://git.kernel.org/stable/c/c2d1a2130c93f6d758af58590b86b2254c7a1dec"}],"title":"media: vivid: check for vb2_is_busy() when toggling caps","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-68204","datePublished":"2026-08-10T12:00:23.311Z","dateReserved":"2026-07-30T09:28:09.374Z","dateUpdated":"2026-08-10T12:00:23.311Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-10 13:20:08","lastModifiedDate":"2026-08-10 13:20:08","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"68204","Ordinal":"1","Title":"media: vivid: check for vb2_is_busy() when toggling caps","CVE":"CVE-2026-68204","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"68204","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: vivid: check for vb2_is_busy() when toggling caps\n\nThe vivid_update_format_cap/out() functions must only be called if the\ncapture/output queue are not busy. But for the controls that select\nthe CROP/COMPOSE/SCALE capability that is not checked.\n\nOnly when streaming starts will they be set to 'grabbed' and it is\nimpossible to change the control, but between REQBUFS and STREAMON you\nare still allowed to set these controls. Since vivid_update_format_cap/out\nwill change the format, this can cause unexpected results.\n\nBesides adding these checks, also add a WARN_ON in\nvivid_update_format_cap/out() if the queue is busy.\n\nI'm 90% certain that this is the cause of this syzbot bug:\n\nhttps://syzkaller.appspot.com/bug?extid=dac8f5eaa46837e97b89\n\nBut since we never have reproducers, it is hard to be certain. In any case,\nthese checks are needed regardless.","Type":"Description","Title":"media: vivid: check for vb2_is_busy() when toggling caps"}]}}}