{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-68204",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-07-30T09:28:09.374Z",
        "datePublished": "2026-08-10T12:00:23.311Z",
        "dateUpdated": "2026-08-19T16:31:23.943Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-19T16:31:23.943Z"
            },
            "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."
                }
            ],
            "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 purely through local ioctls (VIDIOC_REQBUFS/PREPARE_BUF/S_EXT_CTRLS/STREAMON) on the /dev/videoN character device exposed by the vivid driver. There is no remote or network component.\nAC:L - The attacker fully controls both the initial buffer allocation size and the later geometry change, so the undersized-buffer overflow is produced deterministically by a fixed ioctl sequence with no race or memory-layout precondition.\nPR:L - No capability check exists on the V4L2 control or buffer ioctls; any process able to open /dev/videoN can trigger it, which on desktops/Android and container images with video devices bind-mounted means an ordinary unprivileged user (video group / logind ACL).\nUI:N - The entire sequence is performed by the attacking process itself against a device node it opens; no victim action or cooperation is needed.\nS:U - The corruption stays within the kernel's own memory and security authority; no VM, IOMMU or sandbox boundary is crossed by the overflow itself.\nC:H - The stale-geometry mismatch also drives out-of-bounds reads on the output path and lets adjacent kernel allocations be read back through the mmap'ed plane, and the resulting heap corruption can be shaped into a broader kernel-memory disclosure primitive.\nI:H - The capture kthread writes a full frame using the enlarged geometry into a plane allocated for the smaller format, giving an out-of-bounds kernel write of attacker-chosen length and largely attacker-influenced (test-pattern) content, which is exploitable for kernel memory corruption.\nA:H - Overwriting memory past the vb2 plane reliably corrupts neighbouring allocations or hits a vmalloc guard page, producing KASAN splats, oopses and kernel panics; the post-fix WARN_ON also panics on panic_on_warn systems."
                        }
                    ]
                }
            ],
            "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-ctrls.c",
                        "drivers/media/test-drivers/vivid/vivid-vid-cap.c",
                        "drivers/media/test-drivers/vivid/vivid-vid-out.c"
                    ],
                    "versions": [
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "0a820f03727b509b887f3216a574062948761f34",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "bbc96bc75de0fcd9bb6ac48798b206e3b09ec865",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "6a5bc8aea111ccbca71ef2b9c868d5c81f2e89de",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "a9cd0e8fb0b21faaa71199d9d3feb305c18ff576",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "abaec6747304581f8d4a9936352fa10e13325f07",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "492c97cb50feaa60ccd7792d3d6b904ed8ec61bf",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "daf2d92669b4a659d805d88d811161c70cd325ee",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "73c3f48230cda01402ae189b05d56f1f7e0d53c9",
                            "lessThan": "c2d1a2130c93f6d758af58590b86b2254c7a1dec",
                            "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-ctrls.c",
                        "drivers/media/test-drivers/vivid/vivid-vid-cap.c",
                        "drivers/media/test-drivers/vivid/vivid-vid-out.c"
                    ],
                    "versions": [
                        {
                            "version": "3.18",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "3.18",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.265",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.216",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.183",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.148",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.101",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.42",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1.6",
                            "lessThanOrEqual": "7.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.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": "5.10.265"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18",
                                    "versionEndExcluding": "5.15.216"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18",
                                    "versionEndExcluding": "6.1.183"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18",
                                    "versionEndExcluding": "6.6.148"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18",
                                    "versionEndExcluding": "6.12.101"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18",
                                    "versionEndExcluding": "6.18.42"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18",
                                    "versionEndExcluding": "7.1.6"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.18",
                                    "versionEndExcluding": "7.2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/0a820f03727b509b887f3216a574062948761f34"
                },
                {
                    "url": "https://git.kernel.org/stable/c/bbc96bc75de0fcd9bb6ac48798b206e3b09ec865"
                },
                {
                    "url": "https://git.kernel.org/stable/c/6a5bc8aea111ccbca71ef2b9c868d5c81f2e89de"
                },
                {
                    "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"
            }
        }
    }
}