GitHub Advisoryadvisory · crates.io

GHSA-66m8-c62j-h6v5 jxl-oxide: `FrameBuffer::new` creates out-of-bounds slices on overflow

MEDIUM Published 2026-07-02 Modified 2026-07-02 Official page ↗
Ecosystem
crates.io
Packages
jxl-oxide
Severity
Moderate
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-131, CWE-190
Reviewed
2026-07-02

Affected packages

• crates.io jxl-oxide: < 0.12.6 → fixed in 0.12.6

Description

Summary `jxl-oxide` exposes a public safe API that can construct an undersized `FrameBuffer` due to unchecked `usize` multiplication, which immediately trigger panic while initializing the buffer in normal decoding path. Additionally, calling the safe grouped buffer accessors afterward can create invalid oversized slices from a much smaller allocation, causing undefined behavior; however normal decoding path never reaches UB, because these methods are never used within `jxl-oxide`. Impact On 32-bit platforms this can cause panic by accessing out-of-range indices, making it a DoS vulnerability.

Related

Weakness · CWE (2)

  • CWE-131 Incorrect Calculation of Buffer Size weakness
  • CWE-190 Integer Overflow or Wraparound weakness

References