ETK-2026-1042Zero's internal tracking ID, independent of the CVE number.
waiting for further signalsZero needs more public information before it can validate it.description
tari_state_tree, tari_ootle_storage, and tari_indexer_lib are affected when an indexer verifies substate-absence proofs. A malicious validator able to provide substate RPC responses to an indexer can make a live substate appear absent, causing cached indexer data and wallet displays to omit live UTXOs or balances. The attacker needs to be a serving validator for the relevant indexer; on-chain state and spend validation are not affected.
mitigation
Treat absence responses from a single validator as untrusted, and independently corroborate them before caching or presenting them to wallets. No corrected release is recorded; restrict indexer RPC sources to trusted validators and monitor upstream for a patched version.
outcome
Contextual: an exploit technique exists, but no deterministic check could cover this one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-08 12:42Zghsa: trigger signal, started the run
- 2026-10-08 12:42Z
this entry in the feed
GET /api/v1/feed/ETK-2026-1042
{ "etk_id": "ETK-2026-1042", "cve_id": null, "display_id": "ETK-2026-1042", "ghsa_id": "GHSA-2xjh-wg9w-g5hc", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "Shard-binding failure in tari_state_tree exclusion proofs", "summary": "`tari_state_tree`, `tari_ootle_storage`, and `tari_indexer_lib` are affected when an indexer verifies substate-absence proofs. A malicious validator able to provide substate RPC responses to an indexer can make a live substate appear absent, causing cached indexer data and wallet displays to omit live UTXOs or balances. The attacker needs to be a serving validator for the relevant indexer; on-chain state and spend validation are not affected.", "mitigation": "Treat absence responses from a single validator as untrusted, and independently corroborate them before caching or presenting them to wallets. No corrected release is recorded; restrict indexer RPC sources to trusted validators and monitor upstream for a patched version.", "vendor": "rust", "product": "rust:tari_state_tree", "affected": [ { "affected_notes": [], "affected_ranges": [ "<= 0.43.0" ], "ecosystem": "rust", "fixed_versions": [], "package_name": "tari_state_tree", "purl": "pkg:cargo/tari_state_tree" }, { "affected_notes": [], "affected_ranges": [ "<= 0.43.0" ], "ecosystem": "rust", "fixed_versions": [], "package_name": "tari_ootle_storage", "purl": "pkg:cargo/tari_ootle_storage" }, { "affected_notes": [], "affected_ranges": [ "<= 0.43.0" ], "ecosystem": "rust", "fixed_versions": [], "package_name": "tari_indexer_lib", "purl": "pkg:cargo/tari_indexer_lib" } ], "cwes": [ 345 ], "cvss_score": 8.8, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": false, "check_confidence_basis": null, "exploit": false, "pipeline_minutes": 18.577538183333335, "t0_at": null, "signals": { "public_poc": { "at": "2026-10-08T12:42:14+00:00", "days": -12.998374662800925, "is_lower_bound": true, "measured_at": "2026-10-21T12:39:53.593554+00:00", "url": "https://github.com/tari-project/tari-ootle/security/advisories/GHSA-2xjh-wg9w-g5hc" }, "trigger_signal": { "at": "2026-10-08T12:42:14+00:00", "days": -12.998374662800925, "is_lower_bound": true, "measured_at": "2026-10-21T12:39:53.593554+00:00", "url": "https://github.com/tari-project/tari-ootle/security/advisories/GHSA-2xjh-wg9w-g5hc" } } }
published 2026-10-09 04:32Z
last change 2026-10-21 12:26Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.