CVE-2026-1837 PUBLISHED

libjxl: Out-of-bounds write in grayscale color transformation when using LCMS2

Assigner: Google
Reserved: 03.02.2026 Published: 11.02.2026 Updated: 11.02.2026

A specially-crafted file can cause libjxl's decoder to write pixel data to uninitialized unallocated memory. Soon after that data from another uninitialized unallocated region is copied to pixel data.

This can be done by requesting color transformation of grayscale images to another grayscale color space. Buffers allocated for 1-float-per-pixel are used as if they are allocated for 3-float-per-pixel. That happens only if LCMS2 is used as CMS engine. There is another CMS engine available (selected by build flags).

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.7

Product Status

Vendor Google
Product libjxl
Versions Default: unaffected
  • affected from 0.9 to 0.11.1 (incl.)

References

Problem Types

  • CWE-805 CWE

Impacts

  • CAPEC-123 Buffer Manipulation