ended4월 18일· 1 sources

Unverified Inputs Compromise Access Control in Compact Contracts

검증되지 않은 입력으로 무너지는 Compact 계약의 접근 제어

Why it matters

Compact contracts commonly use ownPublicKey() to verify ownership, but this approach has a critical flaw: ownPublicKey() is an unconstrained private input that any prover can supply arbitrarily. Since all ledger state is publicly visible on Midnight's transparent layer, attackers can read the owner's key and spoof authorization checks by supplying the stolen value to their proof. This vulnerability exposes a fundamental limitation in zero-knowledge circuit design where private inputs lack identity verification.

1
Sources
+0
24h
Growth
156d
Active
Compactaccess controlprivate inputzero-knowledgeMidnight

Sources

Related Issues