Skip to main content

libzvbi EUVDEUVD-2026-101127

| CVE-2026-110654 MEDIUM
Out-of-bounds Write (CWE-787)
2026-10-14 VulnCheck GHSA-pw98-3fpx-6f7v
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted Teletext stream to victim
  2. Delivery
    Victim decodes via vbi_decode
  3. Exploit
    Malformed X/28/3 DRCS_MODE_6_5_4 slots parsed
  4. Execution
    convert_drcs overflows chars[48][60]
  5. Impact
    Memory corruption crashes application

Vulnerability Assessment

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

2 techniques across 2 tactics: Execution, Privilege Escalation

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

Exploitation Conditions

Exploitation requires that a victim application built on libzvbi (through 0.2.45) decode an attacker-supplied Teletext stream through the vbi_decode path, and that the stream contain X/28/3 DRCS packets with pixel-mode slots set to the unvalidated DRCS_MODE_6_5_4 value, which drives convert_drcs to write past chars[48][60]. The key LIMITING factors are: attack vector is LOCAL (the malicious Teletext data must be fed to the local decoder, not sent over a network service), and passive user interaction is required (UI:P) - the victim must open or process the attacker-controlled stream/capture. No special non-default configuration is otherwise required beyond use of the Teletext/DRCS decoding functionality, and no authentication is needed (PR:N).

Impact

This is a moderate-severity, low-urgency issue rather than a top priority. The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H) scores 6.9 and is internally consistent with the description: exploitation is LOCAL (the attacker must get a crafted Teletext stream in front of a victim's decoder), requires passive user interaction (UI:P), and the dominant impact is availability (VA:H, a crash) with only limited integrity impact (VI:L) and no confidentiality impact (VC:N). Publicly available exploit code exists (referenced HackMD write-up and VulnCheck advisory), which raises the practical likelihood of reproduction, but there is NO CISA KEV listing and no EPSS score was supplied, so there is no evidence of active or widespread exploitation. The signals are therefore aligned and point to a crash/DoS-class memory-corruption bug in a niche media library, not a remotely weaponizable network flaw. Note: although PR:N makes this 'unauthenticated,' the AV:L / UI:P combination means an attacker cannot reach the code without a victim choosing to decode attacker-controlled Teletext data - the 'network vector' intuition does NOT apply here. CWE-787 (out-of-bounds write) plus a known POC means code-execution potential cannot be fully excluded, but the vendor/CVSS impact framing treats the realistic outcome as a crash.

Exploit ScenarioDerived

An attacker crafts a malicious Teletext stream (or a media file/capture containing X/28/3 DRCS packets) with every slot set to DRCS_MODE_6_5_4 and delivers it to a victim who decodes it with an application built on libzvbi. When the victim's application calls vbi_decode, convert_drcs writes past the bounds of the chars[48][60] buffer, corrupting memory and crashing the process. A public exploit/write-up already demonstrates the out-of-bounds write.

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 14, 2026

Memory corruption in libzvbi through 0.2.45 can occur when a victim application decodes an attacker-supplied Teletext stream containing X/28/3 DRCS packets with unvalidated pixel-mode values, driving an out-of-bounds write in convert_drcs. Exploitation requires local decoding of the malicious stream and passive user interaction (opening or processing the stream/capture), and publicly available exploit code exists; there is no confirmed active exploitation. The out-of-bounds write (CWE-787) crashes the application and may corrupt memory, making this a moderate-severity, low-urgency issue rather than a top priority.

RemediationAI

No vendor-released patch identified at time of analysis; monitor https://github.com/zapping-vbi/zvbi for an upstream fix and review the VulnCheck advisory for updated guidance. If patching is not yet possible, the most direct compensating control is to avoid decoding untrusted Teletext streams with DRCS support enabled, or to pre-filter X/28/3 packets containing DRCS_MODE_6_5_4 before they reach vbi_decode - recognizing that this may drop legitimate Teletext graphics content. Another option is to run any application that decodes attacker-supplied Teletext inside a sandboxed, low-privilege process so that the out-of-bounds write is contained, at the cost of added operational complexity. Given the local attack vector and required user interaction, prioritize this for environments where users routinely open or process untrusted Teletext captures or broadcast streams.

Affected VersionsENISA

libzvbi 0 ≤0.2.45

Affected Packages

euvd libzvbi 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

libzvbi is a library for decoding VBI (vertical blanking interval) data, including Teletext. The affected functionality is the Teletext decoder reached via the vbi_decode path. In X/28/3 Teletext packets, DRCS (Dynamically Redefinable Character Sets) pixel-mode values are not properly validated; when slots are set to the unvalidated DRCS_MODE_6_5_4 value, convert_drcs writes past the bounds of its chars[48][60] buffer. This is a classic CWE-787 out-of-bounds write: the decoder trusts attacker-controlled mode bytes from the Teletext stream instead of constraining them to safe pixel-mode values, causing memory corruption that can crash the host application. The CPE cpe:2.3:a:zapping-vbi:libzvbi:*:*:*:*:*:*:*:* identifies the upstream zapping-vbi libzvbi project as the source component, and the referenced packet.c line 447 on GitHub corresponds to the vulnerable DRCS conversion logic.

Know when Libzvbi 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.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.1 MEDIUM

Attacker-supplied Teletext stream must be decoded locally by the victim, so AV:L and UI:R; no auth needed (PR:N); impact is primarily a crash (A:H) with limited integrity (I:L) and no confidentiality loss.

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

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
Low
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

libzvbi through 0.2.45 contains an out-of-bounds write vulnerability in the Teletext decoder that allows attackers to corrupt memory by supplying unvalidated DRCS pixel-mode values in X/28/3 packets. Attackers can send a crafted Teletext stream decoded via vbi_decode with every slot set to DRCS_MODE_6_5_4, causing convert_drcs to overflow chars[48][60] and crash the application.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche VBI/Teletext decoding library used by specific media/TV-capture apps
Exploit
POC
Public exploit code exists
Data Quality
5 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 Yes
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· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
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.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

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