CVE-2024-11403
Out of Bounds Memory Read/Write in libjxl
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.9
Out of Bounds Memory Read/Write in libjxl
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
CVE-2024-11403- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-787, CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2024-33796
6.9
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
EUVD-2024-33796- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-5pp5-4vfv-784q
6.9
There exists an out of bounds read/write in LibJXL versions prior to commit...
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
GHSA-5pp5-4vfv-784q- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/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 - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
NVD
6.9
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
CVE-2024-11403- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/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 - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-125, CWE-787
- Updated
- 2026-11-02
OSVALPINE-CVE-2024-11403
9.8
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
ALPINE-CVE-2024-11403- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
OSV
6.9
Out of Bounds Memory Read/Write in libjxl
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
CVE-2024-11403- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-125, CWE-787
- Updated
- 2026-11-02
Show 11 moreShow less
OSVDEBIAN-CVE-2024-11403
9.8
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
DEBIAN-CVE-2024-11403- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-11403
6.9
There exists an out of bounds read/write in LibJXL versions prior to commit 9cc451b91b74ba470fd72bd48c121e9f33d24c99. The JPEG decoder used by the JPEG XL encoder when doing JPEG recompression (i.e. if using JxlEncoderAddJPEGFrame on untrusted input) does not properly check bounds in the presence of incomplete codes. This could lead to an out-of-bounds write. In jpegli which is released as part of the same project, the same vulnerability is present. However, the relevant buffer is part of a bigger structure, and the code makes no assumptions on the values that could be overwritten. The issue could however cause jpegli to read uninitialised memory, or addresses of functions.
- Record
UBUNTU-CVE-2024-11403- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2025-0008 No score
Updated libjxl packages fix security vulnerabilities
Out of Bounds Memory Read/Write in libjxl. (CVE-2024-11403) Resource exhaustion via Stack overflow in libjxl. (CVE-2024-11498)
- Record
MGASA-2025-0008- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:0402-1 No score
Security update for qt6-webengine
This update for qt6-webengine fixes the following issues:
- CVE-2024-11403: Fixed out of bounds memory read/write in libjxl (boo#1233764)
- Record
openSUSE-SU-2024:0402-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:14531-1 No score
libjxl-devel-0.11.1-1.1 on GA media
These are all security issues fixed in the libjxl-devel-0.11.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:14531-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:14594-1 No score
libmozjs-115-0-115.15.0-4.1 on GA media
These are all security issues fixed in the libmozjs-115-0-115.15.0-4.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:14594-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:14600-1 No score
libmozjs-128-0-128.5.1-3.1 on GA media
These are all security issues fixed in the libmozjs-128-0-128.5.1-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:14600-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:0139-1 No score
Security update for libjxl
This update for libjxl fixes the following issues:
- Update to release 0.8.4
- Huffman lookup table size fix [CVE-2024-11403]
- Check height limit in modular trees [CVE-2024-11498]
- Record
openSUSE-SU-2025:0139-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:4411-1 No score
Security update for mozjs115
This update for mozjs115 fixes the following issues:
- CVE-2024-11498: Fixed resource exhaustion via Stack overflow in libjxl (bsc#1233786)
- CVE-2024-11403: Fixed out of Bounds Memory Read/Write in libjxl (bsc#1233766)
- CVE-2024-50602: Fixed DoS via XML_ResumeParser in libexpat (bsc#1232602)
- Record
SUSE-SU-2024:4411-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:01883-1 No score
Security update for libjxl
This update for libjxl fixes the following issues:
- CVE-2024-11403: Fix out of bounds memory read/write in libjxl (bsc#1233768).
- Record
SUSE-SU-2025:01883-1- Updated
- 2026-11-02
OSVUSN-7637-1 No score
jpeg-xl vulnerabilities
It was discovered that libjxl did not perform proper bounds checking when parsing Exif tags. An attacker could possibly use this issue to cause libjxl to crash, resulting in a denial of service. (CVE-2023-0645)
It was discovered that libjxl did not perform proper bounds checking when decoding patches. An attacker could possibly use this issue to cause libjxl to enter an infinite loop, resulting in a denial of service. (CVE-2023-35790)
It was discovered that libjxl did not perform proper bounds checking when performing JPEG recompression. An attacker could possibly use this issue to cause libjxl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2024-11403)
It was discovered that libjxl incorrectly handled parsing certain image files. An attacker could possibly use this issue to cause libjxl to consume excessive amounts of memory, resulting in a denial of service. (CVE-2024-11498)
- Record
USN-7637-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libjxlAlpine:v3.21 |
before 0.10.4-r0 | 0.10.4-r0 |
libjxlAlpine:v3.23 |
before 0.11.1-r0 | 0.11.1-r0 |
libjxlAlpine:v3.24 |
before 0.11.1-r0 | 0.11.1-r0 |
jpeg-xlDebian:12 |
before 0.7.0-10+deb12u1, plus listed versions 0.7.0-10 |
0.7.0-10+deb12u1 |
jpeg-xlDebian:13 |
before 0.10.4-2 | 0.10.4-2 |
jpeg-xlDebian:14 |
before 0.10.4-2 | 0.10.4-2 |
jpeg-xlDebian:12 From an advisory covering 4 CVEs |
before 0.7.0-10+deb12u1, plus listed versions 0.7.0-10 |
0.7.0-10+deb12u1 |
libjxlMageia:9 From an advisory covering 2 CVEs |
before 0.7.2-1.mga9 | 0.7.2-1.mga9 |
mozjs115SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 From an advisory covering 3 CVEs |
before 115.4.0-150600.3.6.1 | 115.4.0-150600.3.6.1 |
mozjs115openSUSE:Leap 15.6 From an advisory covering 3 CVEs |
before 115.4.0-150600.3.6.1 | 115.4.0-150600.3.6.1 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libjxlSUSE:Linux Enterprise Module for Package Hub 15 SP7 |
before 0.10.3-150700.4.3.1 | 0.10.3-150700.4.3.1 |
jpeg-xlUbuntu:24.04:LTS |
before 0.7.0-10.2ubuntu6.1, plus listed versions 0.7.0-10ubuntu20.7.0-10.2ubuntu10.7.0-10.2ubuntu40.7.0-10.2ubuntu50.7.0-10.2ubuntu6 |
0.7.0-10.2ubuntu6.1 |
jpeg-xlUbuntu:24.04:LTS From an advisory covering 4 CVEs |
before 0.7.0-10.2ubuntu6.1, plus listed versions 0.7.0-10ubuntu20.7.0-10.2ubuntu10.7.0-10.2ubuntu40.7.0-10.2ubuntu50.7.0-10.2ubuntu6 |
0.7.0-10.2ubuntu6.1 |
qt6-webengineSUSE:Package Hub 15 SP5 |
before 6.4.2-bp155.2.6.1 | 6.4.2-bp155.2.6.1 |
qt6-webengine-docsSUSE:Package Hub 15 SP5 |
before 6.4.2-bp155.2.6.1 | 6.4.2-bp155.2.6.1 |
qt6-webengineopenSUSE:Leap 15.5 |
before 6.4.2-bp155.2.6.1 | 6.4.2-bp155.2.6.1 |
qt6-webengine-docsopenSUSE:Leap 15.5 |
before 6.4.2-bp155.2.6.1 | 6.4.2-bp155.2.6.1 |
libjxlopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 0.11.1-1.1 | 0.11.1-1.1 |
mozjs115openSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 115.15.0-4.1 | 115.15.0-4.1 |
mozjs128openSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 128.5.1-3.1 | 128.5.1-3.1 |
libjxlSUSE:Package Hub 15 SP6 From an advisory covering 2 CVEs |
before 0.8.4-bp156.3.3.4 | 0.8.4-bp156.3.3.4 |
libjxl-gtkSUSE:Package Hub 15 SP6 From an advisory covering 2 CVEs |
before 0.8.4-bp156.3.3.4 | 0.8.4-bp156.3.3.4 |
libjxlopenSUSE:Leap 15.6 From an advisory covering 2 CVEs |
before 0.8.4-bp156.3.3.4 | 0.8.4-bp156.3.3.4 |
libjxl-gtkopenSUSE:Leap 15.6 From an advisory covering 2 CVEs |
before 0.8.4-bp156.3.3.4 | 0.8.4-bp156.3.3.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases, references | OSV | |
| aliases, products, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-11403 is a medium vulnerability (CVSS 6.9) in Google Libjxl, published November 25, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.63%, the 50th percentile. Fixed in libjxl 0.10.4-r0.
References
github.com/libjxl/libjxl/commit/9cc451b91b74ba470fd72bd48c121e9f33d24c99
nvd.nist.gov/vuln/detail/CVE-2024-11403
github.com/advisories/GHSA-5pp5-4vfv-784q
security.alpinelinux.org/vuln/CVE-2024-11403
github.com/libjxl/libjxl
github.com/CVEProject/cvelistV5/tree/main/cves/2024/11xxx/CVE-2024-11403.json
Show 26 moreShow less
security-tracker.debian.org/tracker/CVE-2024-11403
advisories.mageia.org/MGASA-2025-0008.html
bugs.mageia.org/show_bug.cgi?id=33818
lists.opensuse.org/archives/list/[email protected]/message/MKE5FX6CYNU67TGCF7WUASGPHZHN5WQC
suse.com/support/update/announcement/2024/suse-su-20244411-1
bugzilla.suse.com/1232599
bugzilla.suse.com/1232602
bugzilla.suse.com/1233766
bugzilla.suse.com/1233786
suse.com/security/cve/CVE-2024-11403
suse.com/security/cve/CVE-2024-11498
suse.com/security/cve/CVE-2024-50602
suse.com/support/update/announcement/2025/suse-su-202501883-1
bugzilla.suse.com/1233768
ubuntu.com/security/CVE-2024-11403
cve.org/CVERecord?id=CVE-2024-11403
ubuntu.com/security/notices/USN-7637-1
ubuntu.com/security/CVE-2023-0645
ubuntu.com/security/CVE-2023-35790
ubuntu.com/security/CVE-2024-11498
lists.opensuse.org/archives/list/[email protected]/thread/TGCRWIE4IMT4IZHYUTUPMPDFR46SJODV
bugzilla.suse.com/1233764
lists.opensuse.org/archives/list/[email protected]/thread/MKE5FX6CYNU67TGCF7WUASGPHZHN5WQC
lists.opensuse.org/archives/list/[email protected]/thread/A6B7Y4KGXKAS65P4DWUYPMSZQU4A7ZBP
lists.opensuse.org/archives/list/[email protected]/thread/MF2M2SVCJLFCMVUJBZPKNUD26RAA7I4W
bugzilla.suse.com/1233785