Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPlant entry with terminal escape sequences
-
DeliveryVictim runs television and browses
-
ExploitVictim selects malicious entry
-
ExecutionRaw output printed to real terminal post-TUI
-
ImpactTerminal emulator interprets injected sequences
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that an attacker control the name/output of an entry (e.g., a file in a directory the victim navigates) that contains terminal control or escape characters, and that the victim run television ≤0.15.9 and select that entry; the raw Entry::output value is then written to the real terminal after the TUI exits, bypassing ratatui's protective rendering. Limiting factors: local access is needed to stage the malicious entry (AV:L, PR:L), the victim must interactively select it, the victim's terminal emulator must interpret the injected escape sequences for any impact, and versions above 0.15.9 (with sanitize_for_display from PR #1125) are not affected. |
| Impact | This is a low-priority, high-noise issue rather than a genuine emergency. The CVSS 4.0 base score is 4.8 (Medium) with a local attack vector (AV:L), low attack complexity (AC:L), and low privileges required (PR:L), and the vulnerable/subsequent impacts are all Low or None (VC:L/VI:L/VA:L, SC:N/SI:N/SA:N) - so even under CVSS this is not a high-severity flaw. The vector carries E:P (Proof-of-Concept) exploit maturity, which indicates at most a conceptual exploit, not weaponization; the input provides no explicit POC=YES flag and no KEV listing, so this is best described as no public exploit identified at time of analysis. No EPSS score and no SSVC decision were provided, so widespread-exploitation probability cannot be quantified from the data. Most importantly, the signals conflict with the labeling: the CWE-77 'command injection' classification and the 'Command Injection' tag (both originating from VulDB) are not supported by the vendor fix, which is a sanitize_for_display() routine that replaces terminal control/escape characters - i.e., this is terminal escape-sequence injection into the real terminal after the TUI exits, not OS command execution. The vendor itself initially closed the GitHub issue as 'not planned' before merging a defensive fix (PR #1125), consistent with a low real-world risk judgment. Local vector plus niche deployment plus mislabeled impact class means this should be treated as a hygiene/display-integrity fix, not an urgent remotely-exploitable RCE. |
| Exploit ScenarioDerived | An attacker who can place a file (or otherwise influence an entry's output) in a directory a victim browses crafts a name containing terminal escape sequences; because television ≤0.15.9 prints the selected entry's raw output to the real terminal after the TUI exits - bypassing ratatui's protective rendering - the sequences are interpreted by the victim's terminal emulator. Given AV:L and PR:L, this requires local positioning and the victim selecting the malicious entry; a proof-of-concept is suggested by the E:P exploit-maturity flag but no weaponized or publicly confirmed exploit was provided in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
Terminal escape sequence injection in alexpasmantier television through 0.15.9 allows a local attacker who controls an entry's output, such as a crafted filename, to write unsanitized control characters to the victim's terminal after the TUI exits, provided the victim selects that entry. The CVE is tracked as CWE-77 command injection and rated CVSS 4.8, but PR #1125 adds sanitize_for_display for control characters, indicating the practical issue is terminal escape/control-character injection rather than direct command execution. The CVSS vector notes E:P (Proof-of-Concept exploit maturity), but no CISA KEV active exploitation is confirmed; exploitation requires local staging and victim interaction, making this a low-priority issue.
RemediationAI
Apply the upstream fix from PR https://github.com/alexpasmantier/television/pull/1125, which adds sanitize_for_display to replace terminal control characters before writing selected entry output; upgrade to a build containing that change. Vendor patch status is available via the upstream PR, but an exact released patched version beyond 0.15.9 is not specified in the provided data, so verify the build includes PR #1125. The reported issue #1124 was closed with the label 'not planned', but PR #1125 contains the code fix. If immediate upgrade is not possible, restrict television to directories with trusted filenames and avoid selecting entries from untrusted sources; additionally, configure the terminal emulator to limit dangerous escape-sequence processing, such as disabling OSC 52 clipboard and window-manipulation sequences where supported, recognizing that this is a partial mitigation and may affect terminal features. See https://github.com/alexpasmantier/television/issues/1124 and https://vuldb.com/vuln/421588 for tracking details.
Affected VersionsENISA
Affected Packages
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
television is a Rust terminal UI fuzzy finder that uses ratatui for rendering. The vulnerable Entry::output function in television/channels/entry.rs returns the selected entry's raw string, which can originate from an untrusted source such as a filename with no character restrictions. After the TUI exits, main.rs writes entry.output() to the real terminal, bypassing ratatui's protective rendering. PR #1125 addresses this by adding sanitize_for_display, which replaces control characters with U+FFFD before writing. The CVE is mapped to CWE-77 (command injection), but the code-level evidence points to terminal escape/control-sequence injection; impact depends on the victim's terminal emulator interpreting injected sequences. The affected CPE is cpe:2.3:a:alexpasmantier:television:*:*:*:*:*:*:*:*.
Know when Television 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
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Local staging of a malicious entry (AV:L, PR:L) and victim selection (UI:R) yield only terminal display-integrity and minor info-leak impact (C:L/I:L), with no availability or OS command execution.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was found in alexpasmantier television up to 0.15.9. Affected by this issue is the function Entry::output of the file television/channels/entry.rs. Performing a manipulation of the argument raw results in command injection. The attack requires a local approach. The reported GitHub issue was closed with the label "not planned".
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
EUVD-2026-103387
GHSA-84pv-hx2c-786x
NVD
CVE.org
EPSS
VulDB
Exploit-DB