Skip to main content

SDL_image EUVDEUVD-2026-110835

| CVE-2026-117557 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-27 VulnCheck GHSA-m3v7-j67w-q2pr
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious ILBM file with HAM flag and >8 bitplanes
  2. Delivery
    Deliver image to victim SDL_image application
  3. Exploit
    IMG_LoadLBM_IO skips HAM bitplane validation
  4. Execution
    Read past colormap stack array
  5. Impact
    Crash process or leak stack memory

Vulnerability Assessment

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

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Requires an application using SDL_image (≤3.4.8 in the 3.x branch, or ≤2.8.12 in the 2.x branch) to load an attacker-supplied ILBM/LBM image in which the CAMG HAM flag is set AND the bitplane count (nbplanes) exceeds 8 and is not one of the valid HAM values 6 (HAM6) or 8 (HAM8); the pre-patch check in src/IMG_lbm.c failed to validate bitplane count when flagHAM was set, so 1<<nbplanes overruns the 256-entry colormap stack array. Exploitation is LIMITED by: mandatory user/application interaction to process the file (UI:P), a local delivery vector (AV:L, the file must reach and be opened by the target), and the fact that only software actually invoking the ILBM loader on untrusted input is exposed - the legacy Amiga ILBM/HAM format is uncommon in typical workflows. No authentication is required (PR:N).

Impact

This is a medium-severity (CVSS 4.0 base 6.9) out-of-bounds READ (CWE-125), not a memory-corruption/write primitive, so the realistic worst case is a crash (VA:H / DoS) plus limited disclosure of adjacent stack memory (VC:L) - not code execution. The vendor's 4.0 vector is AV:L/AC:L/AT:N/PR:N/UI:P, meaning no privileges are required but a user or application must process the attacker-supplied file locally; there is no network-exploitable, no-interaction path. Decision signals are muted: not in CISA KEV, no EPSS score was supplied, and the vuln.today priority is 'this_month' (a routine patch cadence, not act_now/emergency). No POC/Exploit was flagged as confirmed in the input, so this is driven by a VulnCheck advisory and vendor commits rather than observed exploitation. The signals are internally consistent - a moderate-impact, interaction-gated, local-file parsing bug - and the main residual risk is to applications that load untrusted ILBM/LBM images via SDL_image; the legacy Amiga ILBM/HAM format further narrows the real attack surface. EPSS and any observed-exploitation data are MISSING; treat prioritization as 'patch in normal cycle' per the supplied decision label.

Exploit ScenarioDerived

An attacker crafts a malicious ILBM file with the HAM flag set and more than 8 bitplanes (a count other than the valid HAM6/HAM8 values of 6 or 8) and gets a victim application built on SDL_image to open it. When IMG_LoadLBM_IO() parses the file it skips the bitplane-count validation for HAM mode and reads past the 256-entry colormap stack array, crashing the process or disclosing adjacent stack memory. No public exploit was identified in the input, and exploitation requires the application to process the file (UI:P, local vector).

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

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

Alert me

AnalysisAIv1 – Oct 28, 2026

A stack out-of-bounds read in SDL_image's ILBM/LBM loader (IMG_LoadLBM_IO in src/IMG_lbm.c) lets a crafted image with the HAM flag set and more than 8 bitplanes drive the palette loop past the 256-entry colormap stack array, crashing the host application and potentially leaking adjacent stack memory. Both branches are affected: 3.0.0 through 3.4.8 and 0 through 2.8.12. The impact is a read primitive only, so the realistic worst case is denial of service plus limited information disclosure rather than code execution; exploitation requires an application using the library to open the attacker-supplied file (UI:P, AV:L, PR:N - unauthenticated), and no public exploit was identified at time of analysis. Vendor fixes are published as upstream commits 5cfbe85f3a783417eec4d5aa0660b40c2cff5292 and 9c0622c36cf01e9ecba4bfdd6c4aa2b21c8cf996, which add explicit HAM bitplane validation.

RemediationAI

Apply the upstream fixes from the SDL_image repository: commit 5cfbe85f3a783417eec4d5aa0660b40c2cff5292 for the 3.x branch (it patches the release-3.4.8 tree of src/IMG_lbm.c) and commit 9c0622c36cf01e9ecba4bfdd6c4aa2b21c8cf996 for the 2.x branch, which replace the HAM flag exemption with the explicit validHAM test accepting only 6 or 8 bitplanes; the vendor records a patch as available, but an independently confirmed tagged release version is not established from the supplied data, so verify against the repository and your distribution's packaging before assuming a shipped release is fixed. Track upstream at https://github.com/libsdl-org/SDL_image and the issue at https://github.com/libsdl-org/SDL_image/issues/769, and see https://www.vulncheck.com/advisories/sdl-image-through-3.4.8-and-2.8.12-stack-out-of-bounds-read-in-ilbm-loader. Where rebuilding or upgrading is not yet possible, the exposure is bounded by the trigger conditions: only inputs that set the CAMG HAM flag together with a bitplane count above 8 (and not 6 or 8) reach the faulty path, so restricting SDL_image consumers to trusted image sources, or rejecting/blocking ILBM and LBM content at ingestion points before it reaches the library, removes the attack surface - with the trade-off that legitimate Amiga ILBM/HAM artwork and any workflow depending on it will no longer load. Because the vector is local and requires the file to be opened by the target application, reducing which users and services can hand files to SDL_image-based viewers or converters also limits exposure; neither workaround repairs the underlying out-of-bounds read, which requires the code fix.

Affected VersionsENISA

SDL_image 3.0.0 ≤3.4.8
SDL_image 0 ≤2.8.12

Affected Packages

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

ILBM (Interleaved Bitmap) is the legacy Amiga image format that SDL_image parses in src/IMG_lbm.c; its HAM (Hold-And-Modify) modes, signalled by the CAMG chunk flag, are restricted to HAM6 (6 bitplanes) and HAM8 (8 bitplanes). The vulnerable code path in IMG_LoadLBM_IO computes 1<<nbplanes to size the palette/colormap handling against a fixed 256-entry stack array, and the pre-patch guard only rejected oversized bitplane counts when the HAM flag was clear (if (!pbm && nbplanes > 8 && nbplanes != 24 && flagHAM 0)). Because the check was bypassed whenever flagHAM was set, a file declaring a HAM mode with more than 8 bitplanes indexes beyond the stack colormap. The published fix replaces the flag-based exemption with an explicit validity test, const bool validHAM = (flagHAM && (nbplanes 6 || nbplanes == 8));, and applies the size check whenever that test fails. This is CWE-125 (out-of-bounds read): the operations are reads of stack memory, so the observable effects are an out-of-bounds access that can terminate the process (availability impact assessed as high) and can return stack contents into image data or error paths (confidentiality impact assessed as low). No write primitive is described in the available sources. The CPE cpe:2.3:a:libsdl-org:sdl_image:*:*:*:*:*:*:*:* does not constrain versions, so version scoping must come from the EUVD ranges.

Know when Sdl Image 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:L/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.1 MEDIUM

A victim app must open a local crafted file (AV:L/UI:R, PR:N); the out-of-bounds read leaks limited stack memory (C:L) and crashes the process (A:H) with no integrity impact.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/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
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

SDL_image through 3.4.8 and through 2.8.12 contains a stack out-of-bounds read vulnerability in IMG_LoadLBM_IO() in src/IMG_lbm.c that skips bitplane count validation when HAM mode is set. Attackers can supply a crafted ILBM file with more than 8 HAM bitplanes to read past the colormap stack array, causing crashes or disclosing stack memory.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Medium
popular SDL image-loading library, common in games/multimedia but not ubiquitous
Data Quality
4 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 No
EPSS 0.1%
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
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

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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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