CVE-2018-10705 in Aurora DAOinfo

Summary

by MITRE

The Owned smart contract implementation for Aurora DAO (AURA), an Ethereum ERC20 token, allows attackers to acquire contract ownership because the setOwner function is declared as public. An attacker can then conduct a lockBalances() denial of service attack.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 02/03/2020

The vulnerability identified as CVE-2018-10705 affects the Owned smart contract implementation within the Aurora DAO (AURA) Ethereum ERC20 token system, representing a critical security flaw that undermines the fundamental access control mechanisms of the smart contract. This issue stems from the improper declaration of the setOwner function, which is publicly accessible rather than being restricted to authorized entities. The flaw directly violates the principle of least privilege and access control that forms the cornerstone of secure smart contract development, creating an exploitable pathway for unauthorized actors to gain administrative privileges over the contract.

The technical exploitation of this vulnerability occurs through the public declaration of the setOwner function, which allows any external account to call this method and assume ownership of the contract. This design flaw enables attackers to execute a simple transaction that modifies the contract's ownership state, effectively granting them complete administrative control over the AURA token contract. Once ownership is acquired, the attacker can leverage this privilege to execute the lockBalances() function, which serves as a denial of service mechanism that prevents legitimate users from accessing their token balances. This creates a cascading security impact where the attacker can effectively freeze all token holdings within the contract, rendering the entire system unusable for its intended purpose.

From an operational perspective, this vulnerability presents a severe risk to the integrity and availability of the Aurora DAO ecosystem, as it allows for complete contract takeover and subsequent denial of service attacks. The impact extends beyond simple service disruption, as it compromises the fundamental trust model of the token system and creates opportunities for financial loss. The attack vector is particularly concerning because it requires minimal technical expertise or resources, making it accessible to any attacker with basic Ethereum transaction capabilities. This vulnerability directly aligns with CWE-284, which addresses improper access control in software systems, and represents a clear violation of the principle that administrative functions should be restricted to authorized parties only.

The mitigation strategy for this vulnerability involves implementing proper access control mechanisms within the smart contract code by declaring the setOwner function as internal or requiring specific authorization checks before allowing ownership transfers. This approach aligns with the ATT&CK framework's defense in depth principles, particularly focusing on access control and privilege management. Additionally, the contract should implement proper ownership validation checks and potentially introduce multi-signature requirements for critical administrative functions. The fix requires careful consideration of the contract's upgradeability mechanisms and ensures that any ownership transfer operations include robust authentication and authorization procedures. Regular security audits and formal verification of smart contract code should be implemented to prevent similar issues in future deployments and maintain the security posture of the Ethereum ecosystem.

Reservation

05/03/2018

Disclosure

05/08/2018

Moderation

accepted

CPE

ready

EPSS

0.00334

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!