CyberRota Analysis
AI-GeneratedThe vulnerability affects the Tract inference toolkit, specifically in the handling of attacker-controlled tensor dimensions, which can lead to improper memory allocation and potential disclosure of adjacent data. This can result in a segmentation fault during subsequent access, impacting the stability and security of applications utilizing the toolkit. Organizations using versions prior to 0.21.16, 0.22.2, and 0.23.1 should prioritize updating to mitigate the risk of data exposure and application crashes.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Tract is a tiny, no-nonsense, self-contained TensorFlow and ONNX inference toolkit. Prior to 0.21.16, 0.22.2, and 0.23.1, tract-nnef uses unchecked usize multiplication in nnef/src/tensors.rs read_tensor for attacker-controlled tensor dimensions, the allocation size, and the reported tensor length. Loading a crafted NNEF archive through model_for_path or model_for_read reaches the default DatLoader and can make the wrapped size check accept a small allocation while data/src/tensor.rs as_slice_unchecked creates a much larger logical slice. Model construction through as_uniform can then read beyond the heap allocation and disclose adjacent data, and later access can terminate the process with a segmentation fault. The affected dense numeric tensor path does not include the independently guarded bool, String, or block-quant paths, and no out-of-bounds write or code execution was demonstrated. This issue is fixed in versions 0.21.16, 0.22.2, and 0.23.1.