Skip to main content

Imager for Perl EUVDEUVD-2026-30541

| CVE-2026-8669 MEDIUM
Out-of-bounds Write (CWE-787)
2026-05-15 CPANSec GHSA-6275-mpwc-pq3g
6.5
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

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

  1. Recon
    Upload malicious GIF to target
  2. Delivery
    Application parses file with Imager ≤1.030
  3. Exploit
    Parser allocates undersized buffer for global screen width
  4. Install
    Processing reaches skip-image branch without bounds check
  5. C2
    DGifGetLine writes oversized frame data
  6. Execute
    Heap buffer overflow corrupts adjacent memory
  7. Impact
    Attacker achieves limited read/write of heap data

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 the target application to use Imager for Perl version 1.030 or earlier with GIF processing enabled via Imager::File::GIF module. The attacker must supply a specially crafted multi-frame GIF file where at least one frame's dimensions (Image.Left + Image.Width or Image.Top + Image.Height) exceed the file's global screen dimensions (SWidth or SHeight), AND the application's code path triggers the skip-image branch at imgif.c:790-805 rather than the page-match rendering branch. This occurs when the application reads multi-frame GIFs without rendering all frames (common in thumbnail generation or metadata extraction workflows). Attack vector is network-based (AV:N) with no authentication required (PR:N) and no user interaction needed (UI:N), indicating the vulnerability triggers automatically during file parsing. Limiting factor: The CVSS impact scores (C:L/I:L/A:N) suggest heap corruption is constrained-likely requiring additional exploitation techniques (heap spraying, memory layout prediction) to achieve code execution beyond basic memory corruption.

Impact

The CVSS vector (AV:N/AC:L/PR:N/UI:N) indicates straightforward remote exploitation without authentication, but the impact is constrained (C:L/I:L/A:N). This suggests heap corruption with limited read/write capabilities rather than full code execution. The 6.5 score reflects moderate risk, consistent with memory safety issues that typically require additional exploitation primitives to achieve critical impact. No EPSS data is provided, but the lack of public exploit code and absence from CISA KEV indicates no confirmed active exploitation. SSVC factors favor monitoring over immediate emergency response: the vulnerability is automatable (crafted file upload to applications using Imager) but technical impact is partial (memory corruption without direct code execution path mentioned in description). Real-world risk is highest for web applications that process user-uploaded GIFs using Imager versions ≤1.030, where attackers can control file content. The availability of a vendor patch (version 1.031) and the constrained impact reduce urgency compared to remotely exploitable RCE vulnerabilities, but organizations processing untrusted GIF files should prioritize patching within standard maintenance windows. Note: The Changes file references CVE-2026-8454 rather than CVE-2026-8669, suggesting potential CVE ID confusion-verify with CPANSec advisory before remediation.

Exploit ScenarioDerived

An attacker hosts a malicious web service or compromises a legitimate image-sharing platform that uses Imager for Perl to process uploaded GIF files. They craft a multi-frame GIF with a small global screen width (e.g., 100 pixels) but include subsequent frames with dimensions exceeding this width (e.g., 500 pixels). When a victim application processes this file using Imager ≤1.030, the i_readgif_multi_low() function allocates a 100-pixel row buffer but writes 500 pixels during the skip-image code path, overflowing into adjacent heap memory. This allows the attacker to corrupt heap metadata or overwrite adjacent objects with controlled GIF pixel data, potentially leading to information disclosure or further exploitation when the corrupted memory is accessed. No public exploit code exists at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 15, 2026

Heap buffer overflow in Imager for Perl versions through 1.030 allows remote attackers to corrupt memory and potentially read limited data via specially crafted multi-frame GIF files. The vulnerability stems from missing bounds validation in the skip-image code path of i_readgif_multi_low(), which reuses a fixed-size buffer allocated for the GIF's global screen width without checking if subsequent image frames exceed these dimensions. Vendor-released patch available in version 1.031. CVSS 6.5 indicates network-accessible exploitation requiring no authentication or user interaction, though the impact is limited to low confidentiality/integrity with no availability disruption. No public exploit identified at time of analysis.

RemediationAI

Upgrade to Imager version 1.031 or later, which includes the bounds-checking fix from commit 782e9c06cc75a0f7eed383f39522f51f44598b04. The patch is available at https://github.com/tonycoz/imager/commit/782e9c06cc75a0f7eed383f39522f51f44598b04.patch for manual application if immediate upgrade is not feasible. Release notes are documented at https://metacpan.org/release/TONYC/Imager-1.031/source/Changes. If patching is delayed, implement compensating controls: (1) Restrict GIF file uploads to trusted sources only-this eliminates the remote attack vector but may impact legitimate functionality for user-facing applications; (2) Deploy file format validation that rejects multi-frame GIFs with per-frame dimensions exceeding global screen size-this requires custom preprocessing logic and may break legitimate animated GIFs with non-standard dimension declarations; (3) Run Imager processing in sandboxed environments (containers with limited memory access, seccomp filters) to contain heap corruption-this adds operational complexity and may degrade performance by 10-20%. Note: The commit references CVE-2026-8454 rather than CVE-2026-8669; verify CVE ID with CPANSec before applying remediation.

Affected VersionsENISA

Imager 0 ≤1.030

Affected Packages

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

Imager is a widely used Perl image processing library (cpe:2.3:a:tonyc:imager). The vulnerability (CWE-787: Out-of-bounds Write) resides in the GIF decoder module's multi-frame handling logic. When parsing multi-frame GIF files, the i_readgif_multi_low() function allocates a single row buffer (GifRow) sized for the GIF's global screen width (SWidth) and reuses it across all frames. The main image-processing branch at imgif.c includes bounds validation (Image.Left + Image.Width > SWidth) before calling DGifGetLine(), but a parallel skip-image code path at lines 790-805 omits this check. An attacker can craft a GIF with a small global screen width followed by frames with larger dimensions, causing DGifGetLine() to write beyond the allocated buffer. The patch (commit 782e9c06) moves the bounds check earlier in the processing flow to cover both code paths, validating that Image.Left + Image.Width <= SWidth and Image.Top + Image.Height <= SHeight before any frame processing occurs.

Know when Imager 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 (CPANSec) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Primary rating from Vendor (CPANSec) · only source for this CVE.

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
CVSS changed
May 15, 2026 - 16:22 NVD
6.5 (MEDIUM)
CVE Published
May 15, 2026 - 13:31 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

Imager versions through 1.030 for Perl allow a heap out of bounds (OOB) write on crafted multi-frame GIF files.

Imager::File::GIF's i_readgif_multi_low allocates a single per-row buffer GifRow sized for the GIF's global screen width 'SWidth' and reuses it across every image in the file.

The page-match branch validates Image.Width + Image.Left > SWidth before each DGifGetLine write, but the parallel skip-image branch at imgif.c:790-805 calls DGifGetLine(GifFile, GifRow, Width) with no such check.

Threat Intelligence Overview

EPSS Score
0.0%
Top 99% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.0%
Patch available Yes
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
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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.

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