{"id":"CVE-2026-68255","state":"PUBLISHED","title":"drm/virtio: bound EDID block reads to the response buffer","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/virtio: bound EDID block reads to the response buffer\n\nvirtio_get_edid_block() validates the read offset only against the\ndevice-supplied resp->size field, never against the fixed-size resp->edid\narray. The EDID block index is driven by the device-supplied extension\ncount, so a malicious virtio-gpu backend can advertise a large size\ntogether with a high block count and read far past the array into adjacent\nkernel memory, which is then surfaced in the parsed EDID (an out-of-bounds\nread / info leak).\n\nAlso reject any read whose end exceeds the size of the edid array.\nConforming EDID responses stay within the array and are unaffected.","publishedAt":"2026-08-10T12:01:24.835Z","updatedAt":"2026-10-19T20:58:58.229Z","severity":{"score":7.7,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"65ce911f341ad8ff0c08922eff5bb6db75666eb0","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"64bedd2758eccbc74d39f7006a7ec16fa39dc901","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"3f506a85a905b080cadc029a1651a310479090a6","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"9fc2a017c5d597937e0c28b9a9669844aa796c42","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"2757e6e803092cf0aeaf4b735e16b5d3bdc705c5","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"35be0e2c6862abcd5e5f5445261f1fd910d4a9b4","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"375c1934ef0196d3b6d3a1eae3232bef8dae7bf7","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"4e1a53892ba7f8a3e1da6bfc53c83ae7c812dccd","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/virtio/virtgpu_vq.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.0","versionType":"semver"},{"version":"5.10.266","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.183","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/virtio/virtgpu_vq.c"]}],"references":["https://git.kernel.org/stable/c/65ce911f341ad8ff0c08922eff5bb6db75666eb0","https://git.kernel.org/stable/c/64bedd2758eccbc74d39f7006a7ec16fa39dc901","https://git.kernel.org/stable/c/3f506a85a905b080cadc029a1651a310479090a6","https://git.kernel.org/stable/c/9fc2a017c5d597937e0c28b9a9669844aa796c42","https://git.kernel.org/stable/c/2757e6e803092cf0aeaf4b735e16b5d3bdc705c5","https://git.kernel.org/stable/c/35be0e2c6862abcd5e5f5445261f1fd910d4a9b4","https://git.kernel.org/stable/c/375c1934ef0196d3b6d3a1eae3232bef8dae7bf7","https://git.kernel.org/stable/c/4e1a53892ba7f8a3e1da6bfc53c83ae7c812dccd"],"weaknesses":["CWE-125"],"ingestedAt":"2026-10-29T20:12:49.727Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/68xxx/CVE-2026-68255.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68255","state":"PUBLISHED","datePublished":"2026-08-10T12:01:24.835Z","dateUpdated":"2026-10-19T20:58:58.229Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-30T09:28:09.377Z"},"containers":{"cna":{"title":"drm/virtio: bound EDID block reads to the response buffer","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/virtio: bound EDID block reads to the response buffer\n\nvirtio_get_edid_block() validates the read offset only against the\ndevice-supplied resp->size field, never against the fixed-size resp->edid\narray. The EDID block index is driven by the device-supplied extension\ncount, so a malicious virtio-gpu backend can advertise a large size\ntogether with a high block count and read far past the array into adjacent\nkernel memory, which is then surfaced in the parsed EDID (an out-of-bounds\nread / info leak).\n\nAlso reject any read whose end exceeds the size of the edid array.\nConforming EDID responses stay within the array and are unaffected."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"65ce911f341ad8ff0c08922eff5bb6db75666eb0","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"64bedd2758eccbc74d39f7006a7ec16fa39dc901","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"3f506a85a905b080cadc029a1651a310479090a6","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"9fc2a017c5d597937e0c28b9a9669844aa796c42","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"2757e6e803092cf0aeaf4b735e16b5d3bdc705c5","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"35be0e2c6862abcd5e5f5445261f1fd910d4a9b4","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"375c1934ef0196d3b6d3a1eae3232bef8dae7bf7","versionType":"git"},{"version":"b4b01b4995fb15b55a2d067eb405917f5ab32709","status":"affected","lessThan":"4e1a53892ba7f8a3e1da6bfc53c83ae7c812dccd","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/virtio/virtgpu_vq.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.0","versionType":"semver"},{"version":"5.10.266","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.183","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/virtio/virtgpu_vq.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/65ce911f341ad8ff0c08922eff5bb6db75666eb0"},{"url":"https://git.kernel.org/stable/c/64bedd2758eccbc74d39f7006a7ec16fa39dc901"},{"url":"https://git.kernel.org/stable/c/3f506a85a905b080cadc029a1651a310479090a6"},{"url":"https://git.kernel.org/stable/c/9fc2a017c5d597937e0c28b9a9669844aa796c42"},{"url":"https://git.kernel.org/stable/c/2757e6e803092cf0aeaf4b735e16b5d3bdc705c5"},{"url":"https://git.kernel.org/stable/c/35be0e2c6862abcd5e5f5445261f1fd910d4a9b4"},{"url":"https://git.kernel.org/stable/c/375c1934ef0196d3b6d3a1eae3232bef8dae7bf7"},{"url":"https://git.kernel.org/stable/c/4e1a53892ba7f8a3e1da6bfc53c83ae7c812dccd"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","baseScore":7.7,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The attacker is a malicious or compromised virtio-gpu backend (host/hypervisor device emulation or a vhost-user device process) supplying crafted EDID responses over the virtqueue; this is device-to-guest-kernel access, not remote network access.\nAC:L - The device fully controls resp->size, the EDID extension count and the timing of the read by raising VIRTIO_GPU_EVENT_DISPLAY config-change interrupts, so it can trigger the out-of-bounds read reliably and repeatedly with no conditions outside its control.\nPR:N - No guest credentials are needed at all: the vulnerable path runs in the virtio-gpu probe and the config-changed workqueue in kernel context, driven purely by device responses.\nUI:N - EDID re-reads are initiated automatically at probe and on device-raised display events; no guest user has to open, mount or interact with anything.\nS:U - The out-of-bounds read and the resulting disclosure both occur within the guest kernel's own security authority; no IOMMU, VM or sandbox boundary is crossed by the impact itself.\nC:H - Block indices up to 255 give start offsets of ~32 KB past the 1024-byte resp->edid array, reading far beyond the kmalloc'd response object into adjacent kernel heap memory, which is then surfaced as parsed EDID via the connector blob property and world-readable sysfs edid file, and hex-dumped for bad blocks.\nI:N - Destination buffers in _drm_do_get_edid() are allocated from the block count, so the flaw is strictly an over-read of the response buffer with no out-of-bounds write or kernel data modification.\nA:H - The memcpy can walk tens of kilobytes past the slab object into unmapped or guarded memory, causing an oops/panic (and an immediate BUG under KASAN/hardened builds), and the device can repeat it at will."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-23T12:46:13.247Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"5.10.266"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"5.15.217"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.1.183"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.6.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.12.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.18.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"7.1.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-68255","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:46:13.291191Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-125","lang":"en","type":"CWE","description":"CWE-125 Out-of-bounds Read"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:58:58.229Z"}}]}}}