Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft truncated Y4M header file
-
DeliveryDeliver file to encoding pipeline
-
ExploitOperator runs Kvazaar on input
-
Executionread_header() loops on EOF
-
ImpactEncoder hangs, CPU core pinned
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an operator to run the Kvazaar command-line encoder (through 2.3.2) on an attacker-supplied .y4m file (UI:P); it is not remotely triggerable on its own. The specific trigger stated in the sources is a crafted Y4M header that is truncated and lacks the terminating newline (0x0A), causing getc() in read_header() to return EOF without being checked so the parse loop never makes progress. Limiting factors that reduce realistic risk: local attack vector only, dependence on the victim actually processing untrusted .y4m input, no authentication bypass and no code execution - impact is confined to availability (process hang and one CPU core consumed). The only complete fix per the evidence is updating to the patched code; no alternative mitigation is stated by the vendor. |
| Impact | This is a denial-of-service-only flaw (CWE-835 infinite loop) in the Kvazaar command-line HEVC encoder, and the signals are consistent in pointing to modest real-world risk. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 6.8 but describes a purely local, availability-only impact: no confidentiality or integrity loss, and it requires an operator to actually feed the crafted file to the encoder (UI:P). It is NOT listed in CISA KEV, so there is no confirmed active exploitation, and no EPSS score was provided in the input, so widespread-exploitation probability cannot be quantified here. The vuln.today decision label is 'this_month' - meaningful but not an emergency - which aligns with a local DoS in a specialized tool rather than a remotely exploitable critical. The only amplifying signal is a public write-up describing the exact mechanism (a truncated Y4M header lacking the terminating newline causing unchecked EOF reads), which lowers the effort to reproduce. Net: a genuine availability bug worth patching on a normal cadence, not a high-urgency remote threat; the headline 6.8 overstates practical danger because the vector is local and impact is confined to hanging a single process. |
| Exploit ScenarioDerived | In an automated transcoding or research pipeline that runs Kvazaar on externally supplied .y4m inputs, an attacker submits a crafted .y4m file whose YUV4MPEG2 header is truncated and lacks the terminating newline (0x0A). When the operator or pipeline invokes the encoder on it, read_header() in src/encmain.c spins on unchecked EOF reads and hangs indefinitely while pinning a full CPU core. A public technical write-up of the issue exists (hackmd), lowering reproduction effort, though no verified weaponized exploit is indicated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Denial of service in the Kvazaar HEVC command-line encoder through 2.3.2 lets an attacker hang the encoder by supplying a crafted .y4m input whose header is truncated and lacks the terminating newline (0x0A); getc() then returns EOF without being checked, so the parse loop in read_header() never makes progress and the process spins indefinitely on a full CPU core. The flaw is local in nature - it requires an operator to run the encoder on attacker-supplied input (UI:P), needs no privileges (PR:N), and produces no confidentiality or integrity impact, only high availability impact. A public PoC reference exists in the form of a published writeup; it is not verified as working exploit code, and there is no KEV confirmation of active exploitation. The only complete fix per the available evidence is updating to code containing the upstream parser rewrite.
RemediationAI
The only complete fix identified in the evidence is updating to code that contains the upstream parser rewrite in commit https://github.com/ultravideo/kvazaar/commit/8a2f109be283e87008c679d635966cc034da39c6 - upstream fix available (PR/commit); a released patched version is not independently confirmed, so build from a commit at or after 8a2f109 (or the next tagged release containing it) rather than relying on the v2.3.2 tag referenced in the advisory. The fix converts read_header() to token-based parsing that treats EOF as a header terminator, so truncated input fails fast instead of looping, and adds strtol()-based bounds-checked parsing of W/H/F parameters. The vendor evidence states no alternative mitigation: because the trigger is simply a header without a terminating newline, anything that reaches the vulnerable read_header() can hang the encoder, so no configuration switch removes the exposure on unpatched builds. Until the patched code is deployed, exposure can only be limited by keeping untrusted .y4m files away from the encoder, with the trade-off that this constrains any workflow that intentionally transcodes user-supplied or downloaded media.
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
Kvazaar is an open-source HEVC/H.265 encoder maintained by the Ultra Video Group; its command-line front end (src/encmain.c) parses raw YUV4MPEG2 (.y4m) container headers before encoding. The original read_header() implementation (referenced at src/encmain.c lines 339-357 of tag v2.3.2) reads bytes one at a time with getc() into a fixed 256-byte buffer inside a while(!end_of_header) loop, treating 0x0A as the header terminator and 0x20 as the parameter separator. The return value of getc() is never compared against EOF, so a truncated header that ends without a newline produces EOF forever while the loop keeps running - the CWE-835 (infinite loop) condition, which never makes progress and burns one CPU core until the process is killed. The same parsing code used atoi() on untrusted tokens without full-consumption or range checks. The upstream fix (commit 8a2f109be283e87008c679d635966cc034da39c6) rewrites the parser to read space/newline-terminated tokens, treats EOF as a header terminator so the loop always progresses, drains over-length parameters, validates that the first token is the YUV4MPEG2 magic, tolerates CRLF endings, and replaces atoi() with a parse_int() helper built on strtol() that rejects ERANGE overflow, trailing garbage, negatives and values above INT32_MAX. CPE data (cpe:2.3:a:ultra_video_group:kvazaar:*:*:*:*:*:*:*:*) covers all Kvazaar versions through 2.3.2.
Know when Kvazaar 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:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
A local CLI consumes an attacker-supplied file (AV:L) and an operator must run it (UI:R) with no privileges (PR:N); impact is a process hang, so C:N/I:N/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Kvazaar through 2.3.2 contains an infinite loop vulnerability in read_header() in src/encmain.c that allows attackers to hang the command-line encoder by supplying a truncated Y4M header. Attackers can provide a crafted .y4m file lacking a terminating newline, causing unchecked EOF reads that hang the process indefinitely while consuming a full CPU core.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-115218
GHSA-chw9-qpvj-3r3m
NVD
CVE.org
EPSS
Exploit-DB