ZeroHour

CVE-2026-53924

niche

Missing dispute-state check in Gardens v2 StreamingEscrow risks escrowed SuperTokens

CVSS 4.0
8.7 high
EPSS
<1%p15
Published
()
Modified
AI analysis

Gardens v2, a modular DAO governance framework that manages governance pools with streaming payouts, contains a state-check gap in its StreamingEscrow contract: the claim() function correctly blocks withdrawals while an escrow is disputed, but the permissionless syncOutflow() path performs the same excess-balance transfer without any dispute check. After a streaming proposal is challenged, any unprivileged on-chain actor can call syncOutflow() to move escrowed SuperTokens to the proposal beneficiary while the dispute is still pending. If the disputed proposal is later rejected, those transferred tokens cannot be recovered through drainToStrategy(), permanently reducing the pool's escrowed funds. Affected parties are Gardens v2 deployments whose contracts predate the fix commit, since the attack requires no privileges, authentication, or user interaction. No exploitation, public proof-of-concept, or KEV listing is known; EPSS puts 30-day exploitation probability at roughly 0.2%.

What to do: Update Gardens v2 contracts to include commit 0xc9d4e0dacd937364793278180551e59d93cd43f9 or later, which may require contract redeployment or migration for already-deployed pools. In the meantime, administrators of pools with pending disputed streaming proposals should monitor StreamingEscrow for syncOutflow() calls during disputes, since funds moved this way are unrecoverable if the proposal is rejected.

Affected
Gardens v2 governance framework (StreamingEscrow contract)all deployments prior to commit 0xc9d4e0dacd937364793278180551e59d93cd43f9
Estimated exposure
nicheat most low hundreds of governance-pool deployments (niche DAO framework; no public install counts) — No public deployment or install counts exist for this smart-contract framework, but Gardens v2 is a niche DAO governance tool, so realistic exposure is limited to pools on EVM chains with escrowed SuperTokens and active disputed streaming…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Gardens v2 is a modular governance framework that enables communities to create and manage multiple governance pools with customizable parameters and voting mechanisms. Prior to 0xc9d4e0dacd937364793278180551e59d93cd43f9, StreamingEscrow.claim() correctly rejects withdrawals while an escrow is disputed, but the permissionless syncOutflow() path performs the same excess-balance transfer without checking disputed. After a streaming proposal is challenged, anyone can call syncOutflow() to transfer escrowed SuperTokens to the proposal beneficiary while the dispute is pending. If the proposal is later rejected, those tokens cannot be recovered by drainToStrategy(). This issue has been patched in 0xc9d4e0dacd937364793278180551e59d93cd43f9.

Weakness
CWE-284
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.