Close Menu

    Subscribe to Updates

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

    What's Hot

    Tether thinks Jack Mallers will keep focus on Twenty One’s BTC, not USDT

    July 3, 2025

    These 5 low-valued tokens might replicate Bitcoin’s 1000x journey by 2030

    July 3, 2025

    Chairman of Swiss National Bank hasn’t budged on bitcoin

    July 3, 2025
    Facebook X (Twitter) Instagram
    Block Buzz News
    • Bitcoin
    • Coinbase
      • Litecoin
      • Altcoins
    • Blockchain
    • Crypto
    • Ethereum
    • Lithosphere News Releases
    Facebook X (Twitter) Instagram YouTube
    Block Buzz News
    Home » Security Alert – Solidity – Variables can be overwritten in storage
    Ethereum

    Security Alert – Solidity – Variables can be overwritten in storage

    Sophia BrownBy Sophia BrownJanuary 31, 2025No Comments2 Mins Read
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Summary: In some situations, variables can overwrite other variables in storage.

    Affected Solidity compiler versions: 0.1.6 to 0.4.3 (including 0.4.4 pre-release versions)

    Detailed description:

    Storage variables that are smaller than 256 bits are packed together into the same 256 bit slot if they can fit. If a value larger than what is allowed by the type is assigned to the first variable, that value will overwrite the second variable.

    This means if an attacker can cause an overflow in the value of the first variable, then the second variable can be modified. Creating an overflow in the first variable is possible using arithmetics or by directly passing in a value from the call data (values in call data are aligned to 32 bytes, and padding is neither verified nor enforced).

    Contracts that only use the types listed below for state variables are not affected. Arrays, mappings and structs (based on those following types) are also not affected:

    • signed integers, including sizes smaller than 256 bits
    • bytesNN types, including sizes smaller than 256 bits
    • unsigned integers (uint) of 256 bits

    Contracts with types smaller than 256 bits that are never next to each other (note that state variables of base contracts are “pulled in”) are not affected.

    The Ethereum multisignature wallet contract is not affected.
    Note that addresses take up 160 bits, so contracts that only use addresses and 256-bit types are safe. Additionally, addresses and booleans are almost never manipulated via arithmetic operations in practice, so contracts using only addresses, booleans and 256 bit types should also be safe.

    The following contracts may be affected:
    Contracts containing two or more contiguous state variables where the sum of their sizes is less than 256 bits and the first state variable is not a signed integer and not of bytesNN type.

    Types smaller than 256 bits include:
    bool, enums, uint8, …, uint248, int8, …, int248, address, any contract type

    Recommended action:

    • Recompile contracts that have not yet been deployed using at least Solidity release 0.4.4 (not the pre-release or nightly version).
    • Deactivate, remove funds from, or upgrade already deployed contracts.

    This vulnerability was found by [github.com/catageek](https://github.com/catageek): [https://github.com/ethereum/solidity/issues/1306](https://github.com/ethereum/solidity/issues/1306)



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Sophia Brown

    Related Posts

    Katana mainnet launch nears as pre-deposit closes with $200M in active deposits

    June 30, 2025

    World Experience: Updates from the Next Billion Fellowship

    June 24, 2025

    Checkpoint #4: Berlinterop | Ethereum Foundation Blog

    June 23, 2025

    Checkpoint #4: Berlinterop | Ethereum Foundation Blog

    June 23, 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    iDEGEN price prediction: Is this the AI agent token to buy?

    January 24, 2025

    Gate.io to list CYBRO token on Dec 14 after $7M presale success

    January 24, 2025

    🐍 Lunar New Year Scratch & Win Campaign Is Live with a Grand Prize of 8,888,888 VERSE (~$1800) | by Bitcoin.com | Jan, 2025

    January 24, 2025

    Trade VERSE/USDT on KuCoin to Earn your Share of $8400 in Rewards! | by Bitcoin.com | Jan, 2025

    January 24, 2025
    Don't Miss
    Coinbase

    Tether thinks Jack Mallers will keep focus on Twenty One’s BTC, not USDT

    By John SmithJuly 3, 2025

    Jack Mallers will serve as the dual CEO of Strike and Twenty One. His new…

    These 5 low-valued tokens might replicate Bitcoin’s 1000x journey by 2030

    July 3, 2025

    Chairman of Swiss National Bank hasn’t budged on bitcoin

    July 3, 2025

    Under $0.002 token eyes flip of ADA, Tron & DOGE soon

    July 3, 2025
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

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

    About Us

    BlockBuzzNews: Your daily dose of the latest in cryptocurrency trends, insights, and updates!

    Our Picks

    Tether thinks Jack Mallers will keep focus on Twenty One’s BTC, not USDT

    July 3, 2025

    These 5 low-valued tokens might replicate Bitcoin’s 1000x journey by 2030

    July 3, 2025

    Chairman of Swiss National Bank hasn’t budged on bitcoin

    July 3, 2025
    Most Popular

    iDEGEN price prediction: Is this the AI agent token to buy?

    January 24, 2025

    Gate.io to list CYBRO token on Dec 14 after $7M presale success

    January 24, 2025

    🐍 Lunar New Year Scratch & Win Campaign Is Live with a Grand Prize of 8,888,888 VERSE (~$1800) | by Bitcoin.com | Jan, 2025

    January 24, 2025

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