{"answers":{"affected":"1 open source package ship an affected version, including dahl-salso.","exploited":"There is no known exploitation of RUSTSEC-2026-0129 in the wild and no public exploit code.","fix":"Upgrade dahl-salso to 0.6.8 or later.","what":"RUSTSEC-2026-0129 is a memory corruption vulnerability in dahl-salso, published on 2 May 2026."},"fix_prompt":"Check this codebase for RUSTSEC-2026-0129 and fix it if it is affected.\n\nWhat it is: RUSTSEC-2026-0129 is a memory corruption vulnerability in dahl-salso, published on 2 May 2026. \nExploitation: There is no known exploitation of RUSTSEC-2026-0129 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- dahl-salso (crates.io): affected from 0.0.0-0; fixed in 0.6.8\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/RUSTSEC-2026-0129/ (Markdown: https://insights.sbomify.com/RUSTSEC-2026-0129/index.md)","id":"RUSTSEC-2026-0129","markdown":"https://insights.sbomify.com/RUSTSEC-2026-0129/index.md","name":"RUSTSEC-2026-0129","record":{"aliases":[],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution","denial_of_service"],"network_reachable":"unknown","non_default_config":false,"product_category":"Rust clustering library","requires_auth":"none","summary":"A buffer overflow in the Rust clustering library allows attackers to cause memory corruption or crashes via safe API calls with mismatched input lengths.","user_interaction":"not_required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"The `from_i32_column_major_order` method can create inconsistent internal\nstate. When `labels` length and `n_items` mismatch, `n_clusterings` becomes\n`labels.len() / n_items` (truncated), but subsequent calls to `label()` use\nindices that exceed the internal data bounds, causing a buffer overflow.\n\nFor example, `Clusterings::from_i32_column_major_order(\u0026[1,2,3,4,5], 3)`\ncreates clusterings with `n_clusterings = 5/3 = 1`. Then\n`clusterings.label(1, 0)` accesses index `1*3 = 3`, but only 3 elements\nexist (indices 0,1,2), causing out-of-bounds access.\n\nThis can be triggered through safe public APIs —\n`from_i32_column_major_order()` and `label()` — with no `unsafe` required\nfrom the caller.","ecosystems":["crates.io"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"Buffer overflow in `Clusterings::from_i32_column_major_order()`","id":"RUSTSEC-2026-0129","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"memory_corruption","year":"2026"},"n_packages":1,"n_references":null,"packages":[{"ecosystem":"crates.io","fixed":["0.6.8"],"introduced":["0.0.0-0"],"last_affected":[],"package":"dahl-salso","purl":"pkg:cargo/dahl-salso","source":"RUSTSEC-2026-0129"}],"products":null,"published":"2026-05-02","related":[],"sources":[{"class":"open","licence":"CC0 1.0","name":"RustSec","prefix":"RUSTSEC"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"A buffer overflow in the Rust clustering library allows attackers to cause memory corruption or crashes via safe API calls with mismatched input lengths.","url":"https://insights.sbomify.com/RUSTSEC-2026-0129/"}