CVE-2025-70103
Deferred Deferred - Pending Action
Heap Buffer Overflow in libjxl via PBM Image Processing

Publication date: 2026-05-27

Last updated on: 2026-05-30

Assigner: MITRE

Description
Heap buffer overflow vulnerability in libjxl 0.12.0 via crafted PBM images to the jxl::extras::DecodeImagePNM function in file lib/extras/dec/pnm.cc.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-27
Last Modified
2026-05-30
Generated
2026-06-16
AI Q&A
2026-05-27
EPSS Evaluated
2026-06-15
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
libjxl libjxl 0.12.0
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-122 A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability is a heap buffer overflow in the libjxl library version 0.12.0. It occurs when processing specially crafted PBM images in the function jxl::extras::DecodeImagePNM located in the file lib/extras/dec/pnm.cc.

Impact Analysis

A heap buffer overflow can lead to various impacts including application crashes, data corruption, or potentially arbitrary code execution if exploited by an attacker. This could compromise the security and stability of any system using the vulnerable libjxl library to process PBM images.

Detection Guidance

This vulnerability can be detected by monitoring for crashes or heap-buffer-overflow errors when processing PBM (Portable Bitmap) images with the libjxl library, specifically in the jxl::extras::DecodeImagePNM function.

Using AddressSanitizer (ASAN) during runtime is an effective method to detect the heap-buffer-overflow vulnerability, as it can catch invalid memory accesses caused by crafted PBM images.

  • Run your application or library with AddressSanitizer enabled to detect heap-buffer-overflow issues.
  • Test with crafted PBM images that may trigger the vulnerability.
  • Example command to run a test binary with ASAN enabled (assuming the binary is compiled with ASAN): ASAN_OPTIONS=detect_leaks=1 ./your_libjxl_binary path_to_crafted_pbm_image.pbm
  • Monitor logs for AddressSanitizer reports indicating heap-buffer-overflow errors.
Mitigation Strategies

The immediate mitigation step is to update libjxl to a version that includes the fix for CVE-2025-70103.

The fix involves additional buffer size checks, row boundary validation, pixel data size verification, offset checks, and protections for extra channels during PNM image decoding.

  • Upgrade libjxl to the version that includes the merged pull request #4338 or later.
  • Avoid processing untrusted or crafted PBM images until the patch is applied.
  • If upgrading immediately is not possible, consider sandboxing or isolating the image processing component to limit potential impact.
Compliance Impact

The provided information does not include any details on how the CVE-2025-70103 vulnerability affects compliance with common standards and regulations such as GDPR or HIPAA.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2025-70103. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart