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