CVE-2026-1837 json
libjxl: Out-of-bounds write in grayscale color transformation when using LCMS2
published 2026-02-11 8 mo ago modified 2026-07-15 3 mo ago also EUVD-2026-6177
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 25%
- public exploits
- 0
- none known
Summary
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).
Patch / fix
- libjxl_project libjxl 0.9.5, 0.10.5, 0.11.2
- jpeg-xl Debian 13 0.11.2-0.1~deb13u1
- jpeg-xl Debian 14 0.11.2-0.1
debian advisories DEBIAN-CVE-2026-1837
- jpeg-xl Ubuntu 25.10 0.11.1-6ubuntu1.1
ubuntu advisories UBUNTU-CVE-2026-1837
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- libjxl SLES for SAP applications 16.0, SLES 16.0 0.11.2-160000.1.1
- libjxl SLE Module for Package Hub 15 SP7 0.10.3-150700.4.6.1
suse advisories SUSE-SU-2026:20903-1SUSE-SU-2026:0648-1
- libjxl openSUSE Leap 16.0 0.11.2-160000.1.1
- libjxl openSUSE Tumbleweed 0.11.2-1.1
opensuse advisories openSUSE-SU-2026:20385-1openSUSE-SU-2026:10271-1
- libjxl Alpine 3.23 0.11.2-r0
alpine advisories ALPINE-CVE-2026-1837
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-1837 updated cvss 8.8
libjxl: libjxl: Out-of-bounds write in grayscale color transformation when using LCMS2
-
Red Hat Enterprise Linux 7 firefox Red Hat Enterprise Linux 8 firefox, thunderbird Red Hat Enterprise Linux 9 firefox, firefox-x11, thunderbird Red Hat Enterprise Linux 10 firefox, thunderbirdnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 8 mo ago
Exploit prediction
0.33% chance of exploitation in the next 30 days, higher than 25% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/libjxl/libjxl/issues/4549 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | 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 |
| CISA ADP | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| CNA | 4.0 | 8.7 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected products
- Google libjxl
- Red Hat Red Hat Enterprise Linux 10
- Red Hat Red Hat Enterprise Linux 7
- Red Hat Red Hat Enterprise Linux 8
- Red Hat Red Hat Enterprise Linux 9
Classification
References
-
github.com
/libjxl/libjxl/issues/4549
exploit, issue-tracking, patch
-
access.redhat.com
/security/cve/CVE-2026-1837
vdb-entry
-
bugzilla.redhat.com
/show_bug.cgi?id=2438974
issue-tracking
- security.access.redhat.com /data/csaf/v2/vex/2026/cve-2026-1837.json
Sources
- CVE List CVE-2026-1837
- NVD CVE-2026-1837
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.