Description
ImageSharp is a 2D graphics library. From 4.0.0 until 4.1.2, ICC LUT16 conversion accepts more than four output channels even though ClutCalculator.Calculate and LutEntryCalculator.CalculateLut store intermediate and output values in Vector4. When DecoderOptions.ColorProfileHandling is set to Convert, a malformed embedded profile can direct interpolation and output-LUT operations to write one float per declared channel beyond the four-float destination. This can corrupt memory and terminate the process; the default Preserve mode does not run ICC conversion. This issue is fixed in version 4.1.2.
Affected products
sixlabors: imagesharp
References5
- github.com/SixLabors/ImageSharp/security/advisories/GHSA-ffp7-5… ExploitVendor Advisory
- github.com/SixLabors/ImageSharp/security/advisories/GHSA-ffp7-5… ExploitVendor Advisory
- github.com/SixLabors/ImageSharp/commit/b03f0ed7e5be760eecc740fa… Patch
- github.com/SixLabors/ImageSharp/pull/3187 Issue TrackingPatch
- github.com/SixLabors/ImageSharp/releases/tag/v4.1.2 Release Notes
Metrics
- CVSS 3.1
-
7.5
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - EPSS — exploit probability
- 0% percentile: 33 · as of 10 November 2026
- CWE
- CWE-787
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.