RUSTSEC-2021-0156

Source
https://rustsec.org/advisories/RUSTSEC-2021-0156
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2021-0156.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2021-0156
Aliases
Published
2021-06-11T12:00:00Z
Modified
2026-08-24T08:15:15Z
Summary
Triton VM Soundness Vulnerability due to Missing Constraint
Details

The instruction sponge_absorb_mem Triton VM fails to verify that hashed values come from the claimed memory location. Malicious provers can substitute arbitrary data instead of actual memory contents.

Any application using instruction sponge_absorb_mem to hash memory data can be given a proof for a forged hash that doesn't correspond to the actual memory. This breaks the security of memory-based commitments.

The flaw was corrected in commits 17c7ba0a and ef9d9e72 by including the appropriate constraints.

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / triton-vm

Package

Name
triton-vm
View open source insights on deps.dev
Purl
pkg:cargo/triton-vm

Affected ranges

Type
SEMVER
Events
Introduced
0.42.0-alpha.4
Fixed
4.0.0

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "arch": [],
        "functions": [
            "triton_vm::verify"
        ],
        "os": []
    }
}

Database specific

categories
[
    "crypto-failure"
]
cvss
null
informational
null
source
"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2021-0156.json"