{"id":"CVE-2026-106114","state":"PUBLISHED","title":"ImageSharp: ICC CLUT parsing allocates from unvalidated channel and grid dimensions","description":"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.","publishedAt":"2026-10-06T17:48:41.736Z","updatedAt":"2026-10-06T19:44:26.694Z","severity":{"score":5.3,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","source":"GitHub_M"},"assigner":"GitHub_M","products":["SixLabors ImageSharp"],"affected":[{"vendor":"SixLabors","product":"ImageSharp","versions":[{"version":">= 1.0.0-beta0001, < 4.1.2","status":"affected"}]}],"references":["https://github.com/SixLabors/ImageSharp/security/advisories/GHSA-gwg2-r3hj-4w44","https://github.com/SixLabors/ImageSharp/pull/3187","https://github.com/SixLabors/ImageSharp/commit/8de892a7623aa8a09ba2333b624c8d2eb98325df","https://github.com/SixLabors/ImageSharp/releases/tag/v4.1.2"],"weaknesses":["CWE-789"],"ingestedAt":"2026-10-29T20:10:23.711Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/106xxx/CVE-2026-106114.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-106114","state":"PUBLISHED","datePublished":"2026-10-06T17:48:41.736Z","dateUpdated":"2026-10-06T19:44:26.694Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-10-06T15:33:55.333Z"},"containers":{"cna":{"title":"ImageSharp: ICC CLUT parsing allocates from unvalidated channel and grid dimensions","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"SixLabors","product":"ImageSharp","versions":[{"version":">= 1.0.0-beta0001, < 4.1.2","status":"affected"}]}],"references":[{"url":"https://github.com/SixLabors/ImageSharp/security/advisories/GHSA-gwg2-r3hj-4w44","name":"https://github.com/SixLabors/ImageSharp/security/advisories/GHSA-gwg2-r3hj-4w44","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/SixLabors/ImageSharp/pull/3187","name":"https://github.com/SixLabors/ImageSharp/pull/3187","tags":["x_refsource_MISC"]},{"url":"https://github.com/SixLabors/ImageSharp/commit/8de892a7623aa8a09ba2333b624c8d2eb98325df","name":"https://github.com/SixLabors/ImageSharp/commit/8de892a7623aa8a09ba2333b624c8d2eb98325df","tags":["x_refsource_MISC"]},{"url":"https://github.com/SixLabors/ImageSharp/releases/tag/v4.1.2","name":"https://github.com/SixLabors/ImageSharp/releases/tag/v4.1.2","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.3,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-789","lang":"en","description":"CWE-789: Memory Allocation with Excessive Size Value","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-06T17:48:41.736Z"},"source":{"advisory":"GHSA-gwg2-r3hj-4w44","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/SixLabors/ImageSharp/security/advisories/GHSA-gwg2-r3hj-4w44","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-06T19:44:02.412151Z","id":"CVE-2026-106114","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-06T19:44:26.694Z"}}]}}}