Skip to main content

SixLabors ImageSharp CVE-2026-106114

| EUVDEUVD-2026-93556 MEDIUM
Memory Allocation with Excessive Size Value (CWE-789)
2026-10-06 GitHub_M GHSA-gwg2-r3hj-4w44
5.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted image with truncated ICC profile
  2. Exploit
    Parser reads oversized CLUT channel/grid dimensions
  3. Execution
    Allocation sized from unverified values
  4. Impact
    Excessive memory pressure degrades service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
Exploitation Conditions

The target application must decode attacker-supplied images with ImageSharp (versions 1.0.0-beta0001 through before 4.1.2) and reach ICC profile parsing. Two concrete paths exist: (1) the public IccProfile.Entries parsing path, which can allocate a large jagged representation from a truncated profile regardless of configuration; and (2) in version 4, the automatic image-conversion path through IccDataReader.ReadClutF32, which is ONLY reached when DecoderOptions.ColorProfileHandling is explicitly set to Convert - the default Preserve mode does NOT trigger this conversion and therefore avoids that path. The exploit requires crafting a short/truncated ICC profile that declares large CLUT channel and grid dimensions. Limiting factors: impact is bounded to memory pressure/input-validation failure (no confirmed process termination or RCE), and the v4 convert path depends on a non-default configuration setting, meaningfully narrowing exposure for default v4 deployments.

Impact

Signals are consistent and point to a genuine but modest (medium-severity) issue rather than an urgent priority. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L = 5.3) describes a remotely reachable, low-complexity, unauthenticated flaw whose ONLY impact is limited availability (memory pressure), with no confidentiality or integrity impact - matching CWE-789 (memory allocation with excessive size value) and the description's explicit statement that the demonstrated impact is 'memory pressure and input-validation failure, not unhandled process termination.' No EPSS score, KEV listing, or public POC was provided in the input; per precision rules this means no public exploit is identified at time of analysis and there is no evidence of active exploitation. A patched release (4.1.2) and the fixing commit/PR #3187 are available, which lowers residual risk for anyone who can upgrade. One nuance that tempers raw CVSS: in version 4 the vulnerable automatic-conversion path is only reached when DecoderOptions.ColorProfileHandling is set to the non-default Convert value - the default Preserve mode avoids it - so the practical attack surface for the v4 convert path is narrower than AV:N/PR:N alone suggests; however, the earlier IccProfile.Entries parsing paths can allocate a large jagged representation independent of that setting, so the network-reachable rating still holds. Note also that the input Tags label this 'Information Disclosure,' which conflicts with the CVSS vector (C:N) and the description - treat it as an availability/DoS-pressure issue, not data disclosure.

Exploit ScenarioDerived

An attacker submits a specially crafted image containing a short, truncated ICC profile whose CLUT header declares very large channel and grid dimensions to an application that decodes untrusted images with ImageSharp (for example an avatar or upload-processing endpoint). The parser calculates and requests an oversized float/jagged array before validating that the profile actually contains the declared data, causing excessive memory allocation and degraded service. No public exploit is identified at time of analysis, though the fixing PR #3187 diff publicly illustrates the affected code paths.

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

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

Alert me

AnalysisAIv1 – Oct 06, 2026

ICC profile parsing in SixLabors ImageSharp (1.0.0-beta0001 through before 4.1.2) trusts attacker-declared CLUT channel and grid dimensions when sizing allocations, so a short truncated color profile can force oversized memory allocation from a tiny input - a medium-severity memory-pressure and input-validation failure (CVSS 5.3, CWE-789). Two paths exist: the public IccProfile.Entries parsing path, reachable regardless of configuration, and in version 4 the conversion path through IccDataReader.ReadClutF32, which is only reached when DecoderOptions.ColorProfileHandling is explicitly set to Convert - the default Preserve mode does not trigger it. Unauthenticated remote attackers (CVSS PR:N/UI:N) can trigger it by getting a vulnerable application to decode a crafted image; there is confirmed actively exploited status absent (no CISA KEV entry) and no public exploit identified at time of analysis, but the exploit is conceptually simple since it requires only a malformed, truncated profile rather than a memory-corruption primitive. The demonstrated impact is bounded to memory pressure and input-validation failure, not unhandled process termination or code execution, and the vendor-released patch is version 4.1.2.

RemediationAI

Upgrade to the vendor-released patch, SixLabors.ImageSharp 4.1.2 (nuget package SixLabors.ImageSharp), which adds overflow-safe stream range validation and caps ICC conversion to four input and output channels; see the advisory at https://github.com/SixLabors/ImageSharp/security/advisories/GHSA-gwg2-r3hj-4w44, the fixing pull request https://github.com/SixLabors/ImageSharp/pull/3187, and the release notes at https://github.com/SixLabors/ImageSharp/releases/tag/v4.1.2. If upgrading immediately is not possible, the most effective compensating controls are: keep DecoderOptions.ColorProfileHandling at its default Preserve value and explicitly avoid Convert in any decoder options you construct, which eliminates the ReadClutF32 conversion path on v4 - with the trade-off that this does not close the public IccProfile.Entries parsing path, so any code that calls Entries directly on untrusted bytes must instead be removed, gated behind a length/trust check, or run in a separate process; and cap untrusted image input size (for example by rejecting uploads above a few megabytes) and run decoding under an enforced memory limit or in a sandboxed worker, on the understanding that legitimate large images may then fail to decode. Because exploitation requires only a short truncated profile and no authentication, treat any endpoint that decodes user-supplied images as the priority surface, and do not rely on the 'Information Disclosure' tag suggesting a read-only data leak - the observable effect is allocation inflation and input-validation failure rather than data exposure.

Affected VersionsENISA

ImageSharp 1.0.0-beta0001, < 4.1.2

Affected Packages

nuget sixlabors.imagesharp fix: 3.2.0, 4.1.2
euvd imagesharp_1_0_0_beta0001 fix: 4.1.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in nuget, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ICC color profiles carry color lookup table (CLUT) tags whose headers declare input and output channel counts and per-dimension grid point sizes; parsing code uses those declared values to size arrays before confirming the profile actually contains that many bytes. In ImageSharp, IccDataReader.ReadClutF32 could request a large float array, and earlier public IccProfile.Entries parsing paths could allocate a large jagged representation, all from a short or truncated profile - the classic CWE-789 (Memory Allocation with Excessive Size Value) pattern in which an untrusted size field is used for allocation without validating it against the remaining stream length or an upper bound. The fix in PR #3187 introduces BufferedReadStreamExtensions.IsReadRangeValid/TryGetReadLength, which perform overflow-safe range checks (offset compared before subtraction, length rejected above int.MaxValue, and declared length validated against stream length) and replaces the old generic StreamExtensions.Skip/Read helpers, and it hardens ICC conversion by rejecting profiles with more than four input/output channels in ClutCalculator, LutEntryCalculator and TrcCalculator. The tags attached to this CVE include 'Information Disclosure', but the authoritative assessment and the description agree the demonstrated impact is memory pressure and input-validation failure rather than confidentiality loss, so the CWE-789 framing should be treated as primary. Note that the CPE is a vendor-level wildcard (cpe:2.3:a:sixlabors:imagesharp), meaning the advisory covers the whole product line rather than a single released artifact.

Know when Imagesharp 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 (GitHub_M) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 5.3 MEDIUM

Untrusted image reaches parser remotely with no auth or interaction (AV:N/AC:L/PR:N/UI:N); only bounded memory-pressure impact, so A:L and C:N/I:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 06, 2026 - 19:04 EUVD
CVE Published
Oct 06, 2026 - 17:48 cve.org
MEDIUM 5.3

DescriptionCVE.org

ImageSharp is a 2D graphics library. From 1.0.0-beta0001 until 4.1.2, ICC CLUT parsing calculates allocation sizes from attacker-declared channel and grid dimensions before confirming that the profile contains the declared values. IccDataReader.ReadClutF32 can request a large float array, and earlier public IccProfile.Entries parsing paths can allocate a large jagged representation, from a short truncated profile. In version 4, automatic image conversion reaches the parser when DecoderOptions.ColorProfileHandling is Convert; the default Preserve mode avoids that conversion path. The demonstrated impact is memory pressure and input-validation failure, not unhandled process termination. This issue is fixed in version 4.1.2.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
High
de facto image-processing library across the .NET ecosystem, widely deployed
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.4%
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
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2025-27598 HIGH POC
7.5 Mar 06

ImageSharp is a 2D graphics API. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authenti

CVE-2024-27929 HIGH POC
7.1 Mar 05

ImageSharp is a managed, cross-platform, 2D graphics library. Rated high severity (CVSS 7.1), this vulnerability is no a

CVE-2026-106117 HIGH
7.5 Oct 06

Heap buffer overflow in SixLabors ImageSharp (all versions from 3.0.0 up to but excluding 4.1.1) is triggered when the l

CVE-2026-106115 HIGH
7.5 Oct 06

Out-of-bounds heap writes in the ImageSharp TIFF CCITT Group 4 (T6) fax encoder, affecting versions 2.1.0 through 4.1.1,

CVE-2026-106113 HIGH
7.5 Oct 06

Denial of service in SixLabors ImageSharp (2.0.0 up to but not including 4.1.2) lets a remote, unauthenticated attacker

CVE-2026-106112 HIGH
7.5 Oct 06

Memory corruption in SixLabors ImageSharp 4.0.0 through 4.1.1 allows an unauthenticated remote attacker to crash or dest

CVE-2026-106110 HIGH
7.5 Oct 06

TIFF encoding in SixLabors ImageSharp 2.0.0 through 4.1.1 can write past the end of an undersized compressed-data buffer

CVE-2026-106118 HIGH
7.5 Oct 06

Heap corruption and process termination in SixLabors ImageSharp 3.0.0 through 4.1.0 can be triggered by decoding a craft

CVE-2024-41132 HIGH
7.5 Jul 22

ImageSharp is a 2D graphics API. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authenti

CVE-2024-41131 HIGH
7.5 Jul 22

ImageSharp is a 2D graphics API. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authenti

CVE-2024-32036 MEDIUM
6.5 Apr 15

ImageSharp is a 2D graphics API. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authen

CVE-2024-32035 MEDIUM
6.5 Apr 15

ImageSharp is a 2D graphics API. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authen

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