GitHub Advisoryadvisory · crates.io
GHSA-qg8r-f7x3-25f7 imageproc: Out-of-bounds read via NaN coordinates in bilinear/bicubic sampling
MEDIUM
Official page ↗
- Ecosystem
- crates.io
- Packages
- imageproc
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
- Weaknesses
- CWE-190
- Reviewed
- 2026-05-07
Affected packages
• crates.io imageproc: < 0.23.1 → fixed in 0.23.1
• crates.io imageproc: >= 0.24.0, < 0.24.1 → fixed in 0.24.1
• crates.io imageproc: >= 0.25.0, < 0.25.1 → fixed in 0.25.1
• crates.io imageproc: >= 0.26.0, < 0.26.2 → fixed in 0.26.2
Description
A bounds check was performed in floating points before a cast to the index passed to an unchecked access function. This checked considered `NaN` cases improperly, causing them to succeed the check instead of failing it. The floating point coordinate is under caller control by passing a selected projection matrix.
Carefully controlling the coordinates of an image with no data and one non-zero dimension provides an arbitrary read primitive in the first 32-bits of address space with a Bilinear sampling method.
Using bicubic sampling can result in a read of a few bytes beyond an allocation.
Other out-of-bounds reads may be possible.
Related
Weakness · CWE (1)
- CWE-190 Integer Overflow or Wraparound weakness