Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Single Point of Failure in Backend Hash Management #23

Open
NegruGeorge opened this issue Jul 25, 2024 · 1 comment
Open

Single Point of Failure in Backend Hash Management #23

NegruGeorge opened this issue Jul 25, 2024 · 1 comment
Assignees

Comments

@NegruGeorge
Copy link

Describe the bug
The GenFWStorage contract relies on a backend to set the hashes used for forced withdrawals. This creates a single point of failure.

Configuration

  • Severity: LOW

Impact

Backend Compromise: If the backend is compromised, an attacker can manipulate the hashes to exploit the withdrawal functions.
Unauthorized Withdrawals: Malicious actors can use fraudulent hashes to withdraw funds from the bridge contract.

Recommendation
The closer needs to exercise caution when using the forceRegistry function to ensure only legitimate and secure storage contracts are registered. Here are some key points to consider:

  1. Validation of Contracts: Ensure that the storage contracts being registered are verified and secure.
  2. Multi-Signature Approval: Implement a multi-signature mechanism for registering new storage contracts to prevent unilateral decisions.
  3. Transparency: Maintain transparency by documenting and publishing changes made through forceRegistry.

By taking these precautions, the closer can significantly reduce the risk of security breaches and unauthorized withdrawals.

**Exploit Scenario **

Demo

@DevUreak
Copy link
Collaborator

Thank you for your confirmation. In this part, the hash value for the address will be transparently disclosed when the protocol starts. Also, applying multi-signature in #19 will increase security.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants