Close Menu
    Trending
    • LUNC Burns Spike 74%, But Technical Price Setup Dims Hope
    • Here’s Why The Bitcoin And Ethereum Prices Are Still Trading Sideways
    • Ethereum aims to stop rogue AI agents from stealing trust with new ERC-8004
    • Strategy ($MSTR) Hits 52-Week Low As Bitcoin Crashes To $83k
    • What It Means for Cardano’s Price
    • How Low Can ETH Price Go in February?
    • Analyst Shares Simple Framework That Points Higher
    • Banks may lose up to $500B after Fidelity’s official token launches on Ethereum with freeze powers
    CryptoGate
    • Home
    • Bitcoin News
    • Cryptocurrency
    • Crypto Market Trends
    • Altcoins
    • Ethereum
    • Blockchain
    • en
      • en
      • fr
      • de
      • it
      • ja
    CryptoGate
    Home»Ethereum»Solidity Storage Array Bugs | Ethereum Foundation Blog
    Ethereum

    Solidity Storage Array Bugs | Ethereum Foundation Blog

    CryptoGateBy CryptoGateDecember 14, 2025No Comments5 Mins Read
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Solidity Storage Array Bug Announcement

    This weblog publish is about two bugs linked to storage arrays that are in any other case unrelated. Each have been current within the compiler for a very long time and have solely been found now despite the fact that a contract containing them ought to very possible present malfunctions in assessments.

    Daenam Kim with assist from Nguyen Pham, each from Curvegrid found a difficulty the place invalid information is saved in reference to arrays of signed integers.

    This bug has been current since Solidity 0.4.7 and we contemplate it the extra severe of the 2. If these arrays use unfavorable integers in a sure scenario, it’ll trigger information corruption and thus the bug ought to be simple to detect.

    By way of the Ethereum bug bounty program, we obtained a report a couple of flaw inside the new experimental ABI encoder (known as ABIEncoderV2). The brand new ABI encoder continues to be marked as experimental, however we nonetheless suppose that this deserves a outstanding announcement since it’s already used on mainnet.
    Credit to Ming Chuan Lin (of https://www.secondstate.io) for each discovering and fixing the bug!

    The 0.5.10 release comprises the fixes to the bugs.
    In the meanwhile, we don’t plan to publish a repair to the legacy 0.4.x sequence of Solidity, however we would if there’s in style demand.

    Each bugs ought to be simply seen in assessments that contact the related code paths.

    Particulars concerning the two bugs could be discovered under.

    Signed Integer Array Bug

    Who ought to be involved

    If in case you have deployed contracts which use signed integer arrays in storage and both immediately assign

    • a literal array with a minimum of one unfavorable worth in it (x = [-1, -2, -3];) or
    • an present array of a completely different signed integer kind

    to it, this may result in information corruption within the storage array.

    Contracts that solely assign particular person array components (i.e. with x[2] = -1;) aren’t affected.

    examine if contract is weak

    In case you use signed integer arrays in storage, attempt to run assessments the place you utilize unfavorable values. The impact ought to be that the precise worth saved is constructive as a substitute of unfavorable.

    If in case you have a contract that meets these circumstances, and need to confirm whether or not the contract is certainly weak, you possibly can attain out to us through security@ethereum.org.

    Technical particulars

    Storage arrays could be assigned from arrays of various kind. Throughout this copy and task operation, a kind conversion is carried out on every of the weather. Along with the conversion, particularly if the signed integer kind is shorter than 256 bits, sure bits of the worth should be zeroed out in preparation for storing a number of values in the identical storage slot.

    Which bits to zero out was incorrectly decided from the supply and never the goal kind. This results in too many bits being zeroed out. Specifically, the signal bit shall be zero which makes the worth constructive.

    ABIEncoderV2 Array Bug

    Who ought to be involved

    If in case you have deployed contracts which use the experimental ABI encoder V2, then these may be affected. Which means solely contracts which use the next directive inside the supply code could be affected:

    pragma experimental ABIEncoderV2;
    

    Moreover, there are a selection of necessities for the bug to set off. See technical particulars additional under for extra info.

    examine if contract is weak

    The bug solely manifests itself when the entire following circumstances are met:

    • Storage information involving arrays or structs is shipped on to an exterior perform name, to abi.encode or to occasion information with out prior task to a neighborhood (reminiscence) variable AND
    • this information both comprises an array of structs or an array of statically-sized arrays (i.e. a minimum of two-dimensional).

    Along with that, within the following scenario, your code is NOT affected:

    • for those who solely return such information and don’t use it in abi.encode, exterior calls or occasion information.

    Potential penalties

    Naturally, any bug can have wildly various penalties relying on this system management movement, however we anticipate that that is extra prone to result in malfunction than exploitability.

    The bug, when triggered, will beneath sure circumstances ship corrupt parameters on methodology invocations to different contracts.

    Technical particulars

    Through the encoding course of, the experimental ABI encoder doesn’t correctly advance to the subsequent factor in an array in case the weather occupy greater than a single slot in storage.

    That is solely the case for components which might be structs or statically-sized arrays. Arrays of dynamically-sized arrays or of elementary datatypes aren’t affected.

    The particular impact you will notice is that information is “shifted” within the encoded array: If in case you have an array of kind uint[2][] and it comprises the information
    [[1, 2], [3, 4], [5, 6]], then it is going to be encoded as [[1, 2], [2, 3], [3, 4]] as a result of the encoder solely advances by a single slot between components as a substitute of two.

    This publish was collectively composed by @axic, @chriseth, @holiman



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    CryptoGate
    • Website
    • Pinterest

    Related Posts

    Ethereum aims to stop rogue AI agents from stealing trust with new ERC-8004

    January 29, 2026

    Banks may lose up to $500B after Fidelity’s official token launches on Ethereum with freeze powers

    January 29, 2026

    Ethereum Foundation is hiring an Executive Director

    January 29, 2026

    Ethereum And Solana Are Flashing Caution Signals With Negative Buy/Sell Pressure Data – What This Means

    January 29, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    ‘Bitcoin Jesus’ Reaches $48M Settlement With US DOJ in Tax Fraud Case

    October 11, 2025

    Ethereum Flows Heat Up in the U.S.: Analysts See $4,500 Resistance as the Next Big Test

    September 14, 2025

    XRP Flashes Bullish Signals Against Both USD and BTC

    November 28, 2025

    MiCA Spurs 14 Stablecoin Issuers, 39 CASPs, and Counting

    July 13, 2025

    1,400,000,000 XRP Sold in Less Than a Month: What Are Whales Signaling?

    November 12, 2025
    Categories
    • Altcoins
    • Bitcoin News
    • Blockchain
    • Crypto Market Trends
    • Crypto Mining
    • Cryptocurrency
    • Ethereum
    About us

    Welcome to cryptogate.info — your trusted gateway to the latest and most reliable news in the world of cryptocurrency. Whether you’re a seasoned trader, a blockchain enthusiast, or just curious about the future of digital finance, we’re here to keep you informed and ahead of the curve.

    At cryptogate.info, we are passionate about delivering timely, accurate, and insightful updates on everything crypto — from market trends, new coin launches, and regulatory developments to expert analysis and educational content. Our mission is to empower you with knowledge that helps you navigate the fast-paced and ever-evolving crypto landscape with confidence.

    Top Insights

    Understanding Serenity, Part 2: Casper

    January 14, 2026

    280,000,000 XRP Sold by Whales in a Week: What’s Next for Ripple’s Price?

    December 12, 2025

    $5.4B ETF Inflows, Whale Accumulation, and 2021 Breakout Pattern

    August 4, 2025
    Categories
    • Altcoins
    • Bitcoin News
    • Blockchain
    • Crypto Market Trends
    • Crypto Mining
    • Cryptocurrency
    • Ethereum
    YouTube
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • Impressum
    • About us
    • Contact us
    Copyright © 2025 CryptoGate All Rights Reserved.

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