Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    Polygon price at risk of a 40% crash despite DeFi, stablecoin gains

    May 15, 2025

    Coinbase breach: attackers demand $20M ransom

    May 15, 2025

    We bought Bitcoin at $5 and made a $50m profit

    May 15, 2025
    Facebook X (Twitter) Instagram
    Ai Crypto TimesAi Crypto Times
    • Altcoins
      • Bitcoin
      • Coinbase
      • Litecoin
    • Blockchain
    • Crypto
    • Ethereum
    • Lithosphere News Releases
    X (Twitter) Instagram YouTube LinkedIn
    Ai Crypto TimesAi Crypto Times
    Home » Analysis of Storage Corruption Bug

    Analysis of Storage Corruption Bug

    Michael JohnsonBy Michael JohnsonMay 1, 2025No Comments5 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    This blog post provides an update on our findings following the discovery of the storage corruption bug last week. In summary, the bug was much less severe than we initially thought. The small number of affected contracts we found is either only exploitable by the owner, or the exploit can only cause a disruption in the user interface and not in the actual contract logic. All exploitable contracts/dapps we reviewed can be fixed without having to upgrade the contract itself. Of course, please still check your contracts to be safe.

    Following the discovery of the storage corruption bug in the Solidity compiler and the realization that it may have serious effects on already-deployed contracts that cannot be updated, we started analyzing how common the bug is and how exploitable contracts can be addressed.

    We focused on contracts with source code published on etherscan because important or popular smart contracts usually have their source code published there in order to gain trust from their users, who can then verify the compilation. Furthermore, if the source code is not available, it is also much harder for an attacker to find a suitable exploit. Finally, contracts that are privately used (and thus do not require publishing their source code) usually check that they are called from a certain address, and thus an attacker has no means to write to their storage.

    In order to automate the process of checking all contracts on etherscan, we created a modified version of the Solidity compiler that can automatically detect the conditions for triggering the bug. This technique has already reduced the number of potentially vulnerable contracts to 167. We then manually checked those contracts for potential corruption of storage that would make them vulnerable to attacks.

    It turns out that only ten contracts were vulnerable, so we were able to contact most of the contract owners/developers. Seven out of ten of those contracts are only exploitable by the owner in that they are allowed to change certain parameters outside their permitted range, or allowed to unlock a previously locked contract. One contract is exploitable by unprivileged users but have other major flaws in its design. The other two contracts found to be exploitable by unprivileged users either provided no advantages if exploited or only affected the user interface.

    Why are only so few contracts exploitable?

    First, let us define what we mean by “exploitable”:

    The storage corruption bug is exploitable if it can be used to modify a variable in storage in a way that would not be possible without the bug, and this modification has consequences for the behaviour and use of the smart contract. For example, we do not consider a contract exploitable in the following situations:

    • The same account would be able to overwrite the variable in the same state of the contract by regular means.
    • Overwriting can only happen at construction time (note that we did not check whether overwriting occurred at that time).
    • Overwriting is only triggered in unlikely situations where the contract logic was broken anyway (for example, a 32-bit counter that is incremented once per block, oveflows).
    • Variables can be overwritten that are unused in the smart contract and look non-critical, but may be part of the public interface.

    Why is this critical bug only exploitable in so few cases?

    It is a combination of the following factors that together multiply and dramatically reduce the probability of exploitability.

    1. Since small types only provide an advantage in very rare cases, they are seldomly used.
    2. Small types must be adjacent to each other in storage – a single large type in between them prevents the bug from being triggered.
    3. State variables are often assigned one after the other, which removes the corruption at the second assignment.
    4. The combination of “address” and “bool” is most common among the cases that are left, but here, the address variable is often an “owner” that is assigned from msg.sender and thus not exploitable. Even if the owner can be changed, the flag is often a flag that can be still be set by the owner through other means.

    How to fix affected contracts

    A large majority of the exploitable contracts are only exploitable by the contract owner, administrator or developer, particularly though a single function that allows the owner to be changed. The exploit allows a further escalation of privileges for the owner. In order to prevent the owner from taking advantage of this exploit, a proxy contract can be installed between the owner and the affected contract. This proxy contract forwards calls from the owner, but disallows calling the exploitable functions. If calling the exploitable functions is still necessary, the proxy contract can prevent malicious data from being forwarded to the contract.

    If you have specific questions or concerns regarding your contracts, please contact us on gitter.


    A FRIENDLY IMPORTANT NOTE FROM LEGAL
    The statements in this post are recommendations to address the storage corruption bug in the Solidity compiler. As you know, we are working in an emergent and evolving technical space. The same elements that make this work exciting – the innovation, the impact, the growing understanding of how contracts function – are the same ones that make it risky. If you choose to implement the recommendations in this post and continue to participate, you should make sure you understand how it impacts your specific contract and you should understand that there are risks involved. By choosing to implement these recommendations, you alone assume the risks of the consequences.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Michael Johnson

    Related Posts

    Bitwise CIO bats for diversified crypto investment, compares Bitcoin to Google

    May 14, 2025

    V1.0 Announcing the Trillion Dollar Security Initiative

    May 14, 2025

    Ethereum (ETH) sees major uptick as Pectra upgrade goes live

    May 8, 2025
    Leave A Reply Cancel Reply

    Don't Miss

    Polygon price at risk of a 40% crash despite DeFi, stablecoin gains

    Crypto May 15, 2025

    Polygon price is at risk of a significant drop after forming a bearish technical pattern—despite…

    Coinbase breach: attackers demand $20M ransom

    May 15, 2025

    We bought Bitcoin at $5 and made a $50m profit

    May 15, 2025

    Dow, S&P 500, Nasdaq wobble as stocks rally cools

    May 15, 2025
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo
    Our Picks

    AGII Deploys Smart Detection Models for On-Chain Infrastructure Resilience

    May 15, 2025

    AGII Deploys Smart Detection Models for On-Chain Infrastructure Resilience

    May 15, 2025

    AGII Deploys Smart Detection Models for On-Chain Infrastructure Resilience

    May 15, 2025

    AGII Deploys Smart Detection Models for On-Chain Infrastructure Resilience

    May 15, 2025

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    Demo
    • Popular
    • Recent
    • Top Reviews

    30 Minutes of Exercise vs 100 Steps a Day: Which One is Better?

    May 16, 2021

    Quisque consectetur libero elit

    September 1, 2020

    Winter Fitness: These Poses Can Keep You Warm

    January 14, 2021

    Polygon price at risk of a 40% crash despite DeFi, stablecoin gains

    May 15, 2025

    Coinbase breach: attackers demand $20M ransom

    May 15, 2025

    We bought Bitcoin at $5 and made a $50m profit

    May 15, 2025
    9.3

    Facilisis tincidunt justo eget urna leo dapibus at

    December 19, 2020
    8.9

    Review: Denmark Proposes Corona Pass Mandate for Workers

    January 9, 2020
    8.9

    Laoreet Sed: Suscipit nec dapibus at elit

    December 19, 2020
    Latest Galleries
    [latest_gallery cat="all" number="5" type="slider"]
    Latest Reviews
    8.5

    Review: How Research Could Help with Spinal Cord Injuries

    March 14, 2021
    8.9

    Review: How AI in Soccer could Predict Injuries?

    January 15, 2021
    8.9

    Review: Can Wisconsin Clinch the Big Ten West this Weekend

    January 15, 2021
    Demo
    Top Posts

    Atua AI Extends Bitcoin-Backed Infrastructure for Intelligent Enterprise Operations

    April 23, 202513 Views

    AGII Launches AI-Powered Web3 App To Advance Real-Time Decentralized Infrastructure

    April 26, 20251 Views

    AGII Deploys Smart Detection Models for On-Chain Infrastructure Resilience

    May 15, 20250 Views

    AGII Deploys Smart Detection Models for On-Chain Infrastructure Resilience

    May 15, 20250 Views
    Don't Miss

    Polygon price at risk of a 40% crash despite DeFi, stablecoin gains

    Crypto May 15, 2025

    Polygon price is at risk of a significant drop after forming a bearish technical pattern—despite…

    Coinbase breach: attackers demand $20M ransom

    May 15, 2025

    We bought Bitcoin at $5 and made a $50m profit

    May 15, 2025

    Dow, S&P 500, Nasdaq wobble as stocks rally cools

    May 15, 2025
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    Demo
    Top Posts

    Atua AI Extends Bitcoin-Backed Infrastructure for Intelligent Enterprise Operations

    April 23, 202513 Views

    AGII Launches AI-Powered Web3 App To Advance Real-Time Decentralized Infrastructure

    April 26, 20251 Views

    Polygon price at risk of a 40% crash despite DeFi, stablecoin gains

    May 15, 20250 Views

    Coinbase breach: attackers demand $20M ransom

    May 15, 20250 Views
    Don't Miss

    Polygon price at risk of a 40% crash despite DeFi, stablecoin gains

    Crypto May 15, 2025

    Polygon price is at risk of a significant drop after forming a bearish technical pattern—despite…

    Coinbase breach: attackers demand $20M ransom

    May 15, 2025

    We bought Bitcoin at $5 and made a $50m profit

    May 15, 2025

    Dow, S&P 500, Nasdaq wobble as stocks rally cools

    May 15, 2025
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    X (Twitter) Instagram YouTube LinkedIn
    Our Picks

    Polygon price at risk of a 40% crash despite DeFi, stablecoin gains

    May 15, 2025

    Coinbase breach: attackers demand $20M ransom

    May 15, 2025

    We bought Bitcoin at $5 and made a $50m profit

    May 15, 2025
    Recent Posts
    • Polygon price at risk of a 40% crash despite DeFi, stablecoin gains
    • Coinbase breach: attackers demand $20M ransom
    • We bought Bitcoin at $5 and made a $50m profit
    • Dow, S&P 500, Nasdaq wobble as stocks rally cools
    • AGII Deploys Smart Detection Models for On-Chain Infrastructure Resilience
    © 2025 - 2026

    Type above and press Enter to search. Press Esc to cancel.