Out-of-bounds write in ImageSharp ICC LUT16 conversion
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-787 and the CVSS impact.
Summary
SixLabors ImageSharp from 4.0.0 before 4.1.2 accepts more than four output channels in ICC LUT16 conversion, although its calculations store values in Vector4. A malformed embedded color profile can make the interpolation write past the four-float destination (CWE-787). A remote attacker without privileges can supply such an image to corrupt memory and terminate the process when the decoder option ColorProfileHandling is set to Convert. A public exploit is linked in the references.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| SixLabors | ImageSharp | 4.0.0 to before 4.1.2 | 4.1.2 | Patch available | CNA |
| — | SixLabors.ImageSharp (NuGet) | 4.0.0 to before 4.1.2 | 4.1.2 | Patch available | GHSA-ffp7-56pq-64mr |
- ImageSharp VendorSixLabors Affected 4.0.0 to before 4.1.2 Fixed in 4.1.2 Patch available CNA
- SixLabors.ImageSharp (NuGet) Vendor— Affected 4.0.0 to before 4.1.2 Fixed in 4.1.2 Patch available GHSA-ffp7-56pq-64mr
Remediation
Update the NuGet package SixLabors.ImageSharp to version 4.1.2, which fixes the flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA ImageSharp (SixLabors) Fixed in 4.1.2
- Fix · GHSA-ffp7-56pq-64mr SixLabors.ImageSharp (NuGet) Fixed in 4.1.2 Advisory →
Timeline
- 2026-10-06 Threatist record created from CVE-2026-106112
- 2026-10-07 Alias added: GHSA-ffp7-56pq-64mr
- 2026-10-07 Fix available: NuGet/[email protected] · GHSA-ffp7-56pq-64mr
- 2026-10-07 CVSS score added · GHSA-ffp7-56pq-64mr
- 2026-10-07 Weakness changed · GHSA-ffp7-56pq-64mr
- 2026-10-07 6 new references · GHSA-ffp7-56pq-64mr
References
Patch 2
More SixLabors Imagesharp vulnerabilities
- TI-2026-68636 Out-of-bounds write in ImageSharp CCITT fax decompression CVSS 3.1HIGH 7.5
- TI-2026-68634 Out-of-bounds write in ImageSharp TIFF CCITT Group 4 encoder CVSS 3.1HIGH 7.5
- TI-2026-68629 Out-of-bounds write in ImageSharp TIFF CCITT encoder CVSS 3.1HIGH 7.5
- TI-2025-20408 Out-of-bounds Write in SixLabors ImageSharp CVSS 3.1HIGH 7.5
- TI-2026-68635 ImageSharp BigTIFF IFD count can keep a decoder thread in a non-progressing loop CVSS 3.1MEDIUM 5.3
- TI-2026-68633 Excessive memory allocation in ImageSharp ICC CLUT parsing CVSS 3.1MEDIUM 5.3
Sources
- CVE-2026-106112 · CVE Program
- CVE-2026-106112 · NVD
- FIRST EPSS
- GHSA-ffp7-56pq-64mr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences