PT-2026-40736 · Crates.Io · Dahl-Salso

Published

2026-05-02

·

Updated

2026-05-02

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
The from i32 column major order method can create inconsistent internal state. When labels length and n items mismatch, n clusterings becomes labels.len() / n items (truncated), but subsequent calls to label() use indices that exceed the internal data bounds, causing a buffer overflow.
For example, Clusterings::from i32 column major order(&[1,2,3,4,5], 3) creates clusterings with n clusterings = 5/3 = 1. Then clusterings.label(1, 0) accesses index 1*3 = 3, but only 3 elements exist (indices 0,1,2), causing out-of-bounds access.
This can be triggered through safe public APIs — from i32 column major order() and label() — with no unsafe required from the caller.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

RUSTSEC-2026-0129

Affected Products

Dahl-Salso