CVE-2022-25335

7.5 HIGH

📋 TL;DR

CVE-2022-25335 is an access control vulnerability in RigoBlock Dragos smart contracts where the setMultipleAllowances function lacks the onlyOwner modifier, allowing unauthorized users to manipulate token allowances. This enables attackers to transfer tokens without proper authorization, affecting all users interacting with vulnerable RigoBlock Dragos contracts. The vulnerability was actively exploited in February 2022 before being publicly disclosed.

💻 Affected Systems

Products:
  • RigoBlock Dragos
Versions: All versions through 2022-02-17
Operating Systems: Not applicable - smart contract vulnerability
Default Config Vulnerable: ⚠️ Yes
Notes: Affects Ethereum blockchain deployments of RigoBlock Dragos smart contracts. The vulnerability exists in the contract code itself, not in deployment configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete loss of all tokens controlled by vulnerable contracts through unauthorized allowance manipulation and subsequent transfers.

🟠

Likely Case

Unauthorized token transfers resulting in financial losses for contract users and token holders.

🟢

If Mitigated

No impact if proper access controls are implemented and onlyOwner modifier is enforced.

🌐 Internet-Facing: HIGH - Smart contracts are inherently internet-facing and accessible to anyone on the blockchain.
🏢 Internal Only: LOW - This is a smart contract vulnerability, not an internal network issue.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploited in the wild in February 2022. The vulnerability allows any Ethereum address to call the vulnerable function without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available until major protocol upgrade

Vendor Advisory: https://twitter.com/RigoBlock/status/1494351180713050116

Restart Required: No

Instructions:

No immediate patch available. Users should migrate to new contracts once protocol upgrade is deployed. Monitor RigoBlock announcements for upgrade schedule.

🔧 Temporary Workarounds

Contract Migration

all

Deploy new smart contracts with proper access controls and migrate all tokens and users

Not applicable - requires smart contract development and deployment

🧯 If You Can't Patch

  • Monitor contract interactions for unauthorized setMultipleAllowances calls
  • Implement additional off-chain validation for token transfers

🔍 How to Verify

Check if Vulnerable:

Check if deployed contract at address 0x876b9ebd725d1fa0b879fcee12560a6453b51dc8 has the onlyOwner modifier on setMultipleAllowances function

Check Version:

Not applicable - check contract bytecode or source code verification on Etherscan

Verify Fix Applied:

Verify new contract code includes onlyOwner modifier on setMultipleAllowances function

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized calls to setMultipleAllowances function
  • Unexpected token allowance changes

Network Indicators:

  • Transactions calling setMultipleAllowances from non-owner addresses
  • Suspicious token transfer patterns following allowance changes

SIEM Query:

Not applicable - blockchain transactions are public and can be monitored via blockchain explorers

🔗 References

📤 Share & Export