Skip to main content

libdisplay-info CVE-2026-112271

| EUVDEUVD-2026-104302 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-19 VulnCheck GHSA-3gg9-cc9m-vj8c
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attach malicious EDID source or supply EDID file
  2. Delivery
    Software parses crafted DisplayID v1 section
  3. Exploit
    Data block declared length exceeds section bounds
  4. Execution
    is_all_zeroes reads past heap buffer
  5. Impact
    Application/compositor crash (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target software must link libdisplay-info version 0.4.0 or earlier and must parse an attacker-controlled EDID that contains a DisplayID v1 section in which a data block's declared length exceeds the remaining section bounds, driving is_all_zeroes to read past the heap buffer. Delivery requires local/physical means - a malicious monitor, KVM switch, video capture device, or a crafted EDID file fed to the parser - and passive user interaction such as connecting the device or opening the file (AV:L, UI:P). Limiting factors: no remote network vector, exploitation yields only a crash/denial of service (no code execution, no confidentiality or integrity impact per VC:N/VI:N), and it depends on the host application actually invoking the DisplayID v1 parser on untrusted EDID data.

Impact

This is a genuine but moderate-priority issue, not a top-tier emergency. The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, VA:H with VC:N/VI:N) scores 6.8 (Medium) and is internally consistent with the description: the attack is local/physical in delivery (a malicious monitor, KVM, capture device, or EDID file), requires passive user interaction (connecting the device or loading the file), needs no privileges, and results only in an availability impact - a crash - with no confidentiality or integrity impact. No EPSS score, CISA KEV listing, or explicit POC flag was provided in the input, so there is no evidence of active or at-scale exploitation; a detailed third-party technical writeup (hackmd) and a VulnCheck advisory exist, which raise the practical likelihood of a working trigger EDID being reproduced, but that is distinct from confirmed exploitation. Note a signal conflict worth verifying: the input tag 'Information Disclosure' implies data leakage, yet the CVSS vector sets VC:N (no confidentiality impact) and the description states the result is 'a possible crash' - the realistic impact is denial of service, not disclosure. Because the attack vector is local and the outcome is a crash rather than code execution or data theft, real-world risk is low-to-moderate and concentrated in environments where untrusted displays/EDID data are parsed.

Exploit ScenarioDerived

An attacker connects a malicious monitor, KVM, or HDMI/DisplayPort capture device (or convinces a user to load a crafted EDID file) to a system whose software links libdisplay-info ≤0.4.0. When the DisplayID v1 section is parsed, a data block whose declared length exceeds the section causes is_all_zeroes to read past the heap buffer, crashing the consuming application or compositor. No public exploit identified at time of analysis, though a detailed technical writeup of the flaw is referenced.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 19, 2026

Heap out-of-bounds read in libdisplay-info through 0.4.0 lets a crafted EDID trigger a crash in applications that parse it. The bug is in the DisplayID v1 section parser in displayid.c, where a data block's declared length can exceed the section and drive is_all_zeroes past the heap buffer; delivery is local/physical via a malicious monitor, KVM, capture device, or crafted EDID file and requires passive user interaction. Impact is limited to denial of service (availability only), and no public exploit was identified at time of analysis.

RemediationAI

No vendor-released patch was identified at time of analysis; watch the upstream repository (https://gitlab.freedesktop.org/emersion/libdisplay-info) and the VulnCheck advisory for a fixed release. Until a patch is available, avoid passing untrusted EDID to libdisplay-info: only connect trusted monitors, KVMs, and capture devices, and pre-validate or reject EDID files before parsing. If the host application exposes a way to disable DisplayID v1/extension parsing or to ignore extended display metadata, turn it off, accepting loss of those display features. For workflows that must handle untrusted EDID, run the parser in a sandboxed or resource-limited helper process so an out-of-bounds read only crashes the helper rather than the main session, and add bounds checks around section/data-block lengths in any wrapper code before calling the library.

Affected VersionsENISA

libdisplay-info 0 ≤0.4.0

Affected Packages

euvd libdisplay_info no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libdisplay-info is a C library (vendor emersion, CPE cpe:2.3:a:emersion:libdisplay-info:*:*:*:*:*:*:*:*) used by display servers, compositors, and utilities to parse EDID and DisplayID metadata from monitors and captured display data. In the DisplayID v1 parser at displayid.c lines 603-689 of the 0.4.0 tag, the code trusts a data block's declared length and calls is_all_zeroes to check padding without first confirming that the length fits within the remaining section; a malformed block therefore causes a heap out-of-bounds read, classified as CWE-125. The authoritative assessment records AV:L/AC:L/PR:N/UI:R with C:N/I:N/A:H, so the practical effect is a crash/denial of service when a host application parses attacker-controlled EDID; although some feeds tag the issue as information disclosure, no confidentiality or integrity impact is confirmed. Exploitation depends on the application actually invoking the DisplayID v1 parser on untrusted data, and there is no remote network vector.

Know when Libdisplay Info gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

EDID is delivered via physically attached hardware or a local file (AV:L) and requires the user to connect/load it (UI:R); impact is a crash only, so C:N/I:N and A:H.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 5.5 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

libdisplay-info through 0.4.0 contains a heap out-of-bounds read vulnerability in the DisplayID v1 section parser in displayid.c that occurs when a data block's declared length exceeds the section. Attackers can supply a crafted EDID from a malicious monitor, KVM, capture device, or EDID file to make is_all_zeroes read past the buffer, causing a possible crash.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
core EDID-parsing library used across modern Linux Wayland/graphics stacks
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy