logo

CVE-2023-53156 transpose

Package

Manager: cargo
Name: transpose
Vulnerable Version: >=0.1.0 <0.2.3

Severity

Level: Medium

CVSS v3.1: CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L

CVSS v4.0: CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:L/SA:L

EPSS: 0.00033 pctl0.07847

Details

transpose: Buffer overflow due to integer overflow Given the function `transpose::transpose`: ```rust fn transpose<T: Copy>(input: &[T], output: &mut [T], input_width: usize, input_height: usize) ``` The safety check `input_width * input_height == output.len()` can fail due to `input_width * input_height` overflowing in such a way that it equals `output.len()`. As a result of failing the safety check, memory past the end of `output` is written to. This only occurs in release mode since `*` panics on overflow in debug mode. Exploiting this issue requires the caller to pass `input_width` and `input_height` arguments such that multiplying them overflows, and the overflown result equals the lengths of input and output slices.

Metadata

Created: 2024-04-05T15:41:34Z
Modified: 2025-07-28T15:54:18Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/04/GHSA-5gmm-6m36-r7jh/GHSA-5gmm-6m36-r7jh.json
CWE IDs: ["CWE-120", "CWE-190"]
Alternative ID: GHSA-5gmm-6m36-r7jh
Finding: F111
Auto approve: 1