
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-106114 is a memory allocation vulnerability in SixLabors ImageSharp, a .NET 2D graphics library, where ICC CLUT (Color Lookup Table) parsing allocates memory based on attacker-controlled channel and grid dimensions without first validating that the declared data is actually present in the profile. The flaw affects all versions from 1.0.0-beta0001 through 4.1.1 (inclusive) and was disclosed via a GitHub Security Advisory published September 15, 2026. It carries a CVSS v3.1 base score of 5.3 (Medium) (GitHub Advisory).
The root cause is CWE-789 (Memory Allocation with Excessive Size Value): IccDataReader.ReadClutF32 computes the allocation size as the product of attacker-declared input channel count and grid points per channel (e.g., 3^15 × 15 = 215,233,605 floats, ~861 MB) before reading or verifying any CLUT payload data. In v1–v3, the same defect exists in the public lazy IccProfile.Entries accessor via a jagged array representation (~115 MB allocation). In v4.0.0–v4.1.1, the vulnerable path is reached automatically during Image.Load when DecoderOptions.ColorProfileHandling is set to ColorProfileHandling.Convert; the default Preserve mode does not trigger the conversion pipeline. The fix, introduced in commit 8de892a, adds a GetClutLength helper that validates the computed byte count against remaining stream data before any allocation is attempted (GitHub Advisory, Fix Commit).
Successful exploitation causes the target application to transiently allocate approximately 861 MB of managed memory per malicious request, resulting in significant memory pressure and potential denial of service under resource-constrained environments. There is no impact on confidentiality or data integrity — the allocation failure is caught as an InvalidIccProfileException and the process continues normally, but repeated requests could exhaust available memory and degrade or halt service availability. The vulnerability has no lateral movement potential and does not enable code execution or privilege escalation (GitHub Advisory).
A complete, runnable proof-of-concept (PoC) in C# with a Docker setup is publicly available via the GitHub Security Advisory, demonstrating the 861 MB allocation bug against ImageSharp 4.1.1 (GitHub Advisory). The vulnerability is network-exploitable with no authentication or user interaction required, and NVD SSVC classifies it as automatable. The EPSS score is approximately 0.37%, and no active in-the-wild exploitation has been reported. The CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
iCCP chunk using a standard PNG encoder (e.g., ImageSharp's PngEncoder).DecoderOptions.ColorProfileHandling = ColorProfileHandling.Convert (required for v4.x; for v1–v3, simply accessing IccProfile.Entries on a decoded image triggers the path).Image.Load processes the image, IccDataReader.ReadClutF32 computes 3^15 × 15 = 215,233,605 floats (~861 MB) from the untrusted dimensions and attempts the allocation before detecting the truncated payload.InvalidIccProfileException is eventually thrown and caught, but the ~861 MB transient allocation may cause OOM conditions or service degradation under repeated requests (GitHub Advisory).SixLabors.ImageSharp.Metadata.Profiles.Icc.InvalidIccProfileException: Invalid conversion method or Invalid CLUT dimensions exceptions correlated with image decode operations.iCCP chunks containing truncated ICC profiles (GitHub Advisory).Upgrade SixLabors.ImageSharp to version 4.1.2 or later, which validates CLUT storage size against available data before allocation (v4.1.2 Release). For applications on v4.x that cannot immediately upgrade, ensure DecoderOptions.ColorProfileHandling is set to ColorProfileHandling.Preserve (the default), which bypasses the vulnerable ICC conversion path entirely. Additionally, implement upstream input validation (e.g., file size limits, image dimension checks) and memory allocation limits on image-processing operations to reduce exposure. Note that v1–v3 users are also affected via the IccProfile.Entries accessor and should upgrade to v4.1.2 (GitHub Advisory, Fix PR).
The vulnerability was reported by security researcher MegaManSec and addressed by SixLabors maintainer JimBobSquarePants, who merged a comprehensive hardening PR (#3187) covering multiple codec and metadata input validation issues beyond just the ICC CLUT flaw (Fix PR). The advisory notes that no active exploitation is known and characterizes the impact as memory pressure rather than process termination, reflecting a measured severity assessment. Community response is visible through numerous downstream dependency bump PRs across open-source projects following the v4.1.2 release.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."