Skip to main content

imagecodecs EUVDEUVD-2026-114748

| CVE-2026-120251 MEDIUM
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-11-01 VulnCheck GHSA-j736-6c4x-7rx7
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted 8-byte G4 stream to decoder
  2. Exploit
    Trigger infinite loop in ccitt_fax4_decode_size
  3. Impact
    Process hangs at 100% CPU until killed

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

Exploitation requires that the target application feed attacker-controlled data to imagecodecs' ccittfax4_decode() function or the numcodecs Ccittfax4 codec, and that the attacker can supply a crafted CCITT Group 4 stream - specifically an 8-byte G4 stream lacking the EOFB (end-of-facsimile-block) marker. The limiting factors: the CVSS vector indicates a local attack vector (AV:L) and passive user interaction (UI:P), meaning a victim/process must actually invoke the vulnerable decode path on the malicious input, so the flaw is only reachable in deployments that decode untrusted CCITT G4 data. Affected versions are imagecodecs 2026.3.6 through 2026.10.10; deployments outside this range or not using the CCITT G4 decode path are not exposed. Impact is confined to availability (process hang/CPU exhaustion); there is no path to data disclosure or code execution.

Impact

This is a moderate, availability-only issue rather than a top-tier emergency. The supplied CVSS 4.0 vector (6.8) is AV:L/AC:L/AT:N/PR:N/UI:P with impact confined to VA:H and VC/VI = N, meaning the only consequence is a hung process (CPU exhaustion), not code execution or data compromise. The vuln.today decision label is 'this_month' (not act_now/emergency), which is consistent with a denial-of-service bug in a specialized library. No EPSS score was provided in the input, so exploitation probability cannot be quantified; this is a missing signal, not a zero. The issue is NOT in CISA KEV and the input does not flag a confirmed working exploit, so there is no evidence of active exploitation. Note one tension to verify: the CVSS vector is AV:L (local), yet the real-world trigger is attacker-supplied decoded data - if a deployment passes untrusted remote input (e.g., an uploaded image/stream) to ccittfax4_decode(), the practical reachability can resemble a network-adjacent DoS even though the base vector is local; confirm how attacker data reaches the decoder in your environment. Overall: a real but bounded DoS priority, appropriately rated medium, warranting scheduled patching rather than crisis response.

Exploit ScenarioDerived

An attacker crafts a malformed 8-byte CCITT Group 4 stream that lacks the EOFB marker and gets a victim application - one that decodes untrusted CCITT G4 data via imagecodecs' ccittfax4_decode() or the numcodecs Ccittfax4 codec - to process it. The decoder enters an infinite loop in ccitt_fax4_decode_size(), pinning a CPU core at 100% and hanging the calling process until it is externally killed. No confirmed public exploit is listed in the input, though the advisory and the GitHub issue document the exact minimal trigger.

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

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

Alert me

AnalysisAIv1 – Nov 01, 2026

Crafted CCITT Group 4 image data can hang processes that use imagecodecs 2026.3.6 through 2026.10.10: a stream missing the end-of-facsimile-block marker drives ccitt_fax4_decode_size() into an infinite loop, consuming full CPU until the process is terminated. The flaw is availability-only, with no confidentiality or integrity impact, and the supplied vector and independent assessment require a local decode path plus user interaction, so only deployments that decode untrusted G4 data are exposed. No public exploit was identified at time of analysis.

RemediationAI

No vendor-released patch identified at time of analysis; the supplied references list only the upstream issue and the source line, not a fixed version, so no patched release can be cited. Track https://github.com/cgohlke/imagecodecs/issues/158 and the VulnCheck advisory for a fix. Until then, do not pass untrusted CCITT Group 4 streams to ccittfax4_decode() or the numcodecs Ccittfax4 codec; if that path is required, reject or quarantine G4 inputs that lack EOFB before decoding and run the decoder in a worker with a hard CPU/time limit or process isolation so a hung decode can be killed. Trade-offs: input rejection may block malformed but legitimate fax data, and timeouts or isolation add latency and operational complexity while not fixing the infinite loop.

Affected VersionsENISA

imagecodecs 2026.3.6 ≤2026.10.10

Affected Packages

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

CCITT Group 4 (G4) is a fax and image compression format, and imagecodecs is a Python library exposing native codecs; the reported path is ccitt_fax4_decode_size() in 3rdparty/ccitt/ccitt.c at line 1449, linked in the supplied references. The root cause class is CWE-835 Infinite Loop: a crafted 8-byte G4 stream without the EOFB marker keeps the decode-size logic looping instead of completing. The supplied CPE is cpe:2.3:a:cgohlke:imagecodecs:*:*:*:*:*:*:*:* and the CVE narrows the affected range to 2026.3.6 through 2026.10.10; the same decode path is reachable through the numcodecs Ccittfax4 codec. The CVSS:4.0 vector reports AV:L/AC:L/PR:N/UI:P with only VA:H, and the independent CVSS:3.1 assessment is AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, so the evidence supports local reachability with user action and availability-only impact; the exact internal loop-termination logic is not described beyond the missing-EOFB input condition.

Know when Imagecodecs 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

Availability-only DoS: the app must decode attacker-supplied G4 data (UI:R), local vector, no privileges, low complexity (fixed minimal trigger), with no confidentiality or integrity impact.

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

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

imagecodecs 2026.3.6 through 2026.10.10 contains an infinite loop vulnerability in ccitt_fax4_decode_size() that allows attackers to hang the calling process by supplying a crafted CCITT Group 4 stream. Attackers can provide an 8-byte G4 stream lacking EOFB to ccittfax4_decode() or the numcodecs Ccittfax4 codec, consuming full CPU until the process is killed.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche scientific/bio-imaging Python codec library, limited production footprint
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High

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.1%
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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

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

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Related Vulnerabilities in imagecodecs Decoder Memory Safety Flaws

View all 2

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