hats-finance / Proof-Of-Humanity-V2-0xef0709445d394a22704850c772a28a863bb780b0

Proof of Humanity Protocol v2
2 stars 1 forks source link

Malicious Users Can Bypass the Challenge phase and vouching phase #141

Open hats-bug-reporter[bot] opened 2 weeks ago

hats-bug-reporter[bot] commented 2 weeks ago

Github username: @0xmahdirostami Twitter username: 0xmahdirostami Submission hash (on-chain): 0x393dcd92b41a1629c07e3a52985fa55d01714e6cd5de666431969965ebbb656c Severity: high

Description:

Summary

The protocol relies on a vouching system and challenge system to ensure that only legitimate humanity requests are approved. However, there's a way for malicious users to trick this system by adding incorrect vouches and submitting fake challenges, allowing them to bypass the process and get their fake requests approved.

Impact:

Bypassing challenge phase and vouching phase and create as many as humainty ids.

Vulnerability Detail


user will gain that humanity.

- as no challenge is accepted, malicious vouchers will not pay penalties

A malicious user can exploit this by adding fake vouchers and submitting fake challenges during challengePeriodDuration. For all reasons, they could repeatedly submit challenges with fake evidence, like saying the person is "Deceased" with false evidence. By doing this, they can fill `full_reason_ser`, letting their fake request go through without proper review.

and as no challenge is accepted no fake voucher will penalized.

this attack just needed some humanity: `requiredNumberOfVouches`
clesaege commented 1 week ago

other humanities vouches for it. (they do malicious act here, but as no challenge will be accepted at the end they will not pay penalties)

So according to your report, you still need vouches.

For the other part, similar to https://github.com/hats-finance/Proof-Of-Humanity-V2-0xef0709445d394a22704850c772a28a863bb780b0/issues/140