Skip to content

More ZK bugs #11

@veorq

Description

@veorq

Great project, thank you!

I dont think these are listed (found while preparing my talks on ZKP security by asking friends and "doing my own research"):

Missing overflow check of a nullifier
a16z/zkdrops#2

Overflow again
ethereum-oasis-op/baseline#34

Field element inverse property not enforced
arkworks-rs/r1cs-std#70

Missing public input -> replay
https://starli.medium.com/filecoin-one-porep-vulnerability-found-by-trapdoor-tech-7fc7beb4557b

Timing attacks
https://eprint.iacr.org/2020/627.pdf

Missing (randomized) blinding to hide private inputs – not clear if really exploitable though
dusk-network/plonk#651

This one turned out to be non-exploitable (as clarified privately by the StarkWare team), but a similar behavior may be a problem in some cases
starkware-libs/cairo-lang#39

There are some other interesting ZK circuit bug types I've seen (concrete cases cant be disclosed yet):

  • Failing to enforce that a given constant is effectively the said constant value.

  • Failing to enforce constraints of correct padding in hash functions.

  • Failing to enforce soundness of a tree's structure or size.

  • Leakage on the witness from the proof's size.

Hope this helps, feel free to only include what you think is the most relevant/original.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions