Business Insights
  • Home
  • Crypto
  • Finance Expert
  • Business
  • Invest News
  • Investing
  • Trading
  • Forex
  • Videos
  • Economy
  • Tech
  • Contact

Archives

  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • August 2023
  • January 2023
  • December 2021
  • July 2021
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019

Categories

  • Business
  • Crypto
  • Economy
  • Finance Expert
  • Forex
  • Invest News
  • Investing
  • Tech
  • Trading
  • Uncategorized
  • Videos
Apply Loan
Money Visa
Advertise Us
Money Visa
  • Home
  • Crypto
  • Finance Expert
  • Business
  • Invest News
  • Investing
  • Trading
  • Forex
  • Videos
  • Economy
  • Tech
  • Contact
Announcing the Trillion Dollar Security Initiative
  • Crypto

Solidity Storage Array Bugs | Ethereum Foundation Blog

  • August 24, 2025
  • Roubens Andy King
Total
0
Shares
0
0
0
Total
0
Shares
Share 0
Tweet 0
Pin it 0

Solidity Storage Array Bug Announcement

This blog post is about two bugs connected to storage arrays which are otherwise unrelated. Both have been present in the compiler for a long time and have only been discovered now even though a contract containing them should very likely show malfunctions in tests.

Daenam Kim with help from Nguyen Pham, both from Curvegrid discovered an issue where invalid data is stored in connection with arrays of signed integers.

This bug has been present since Solidity 0.4.7 and we consider it the more serious of the two. If these arrays use negative integers in a certain situation, it will cause data corruption and thus the bug should be easy to detect.

Through the Ethereum bug bounty program, we received a report about a flaw within the new experimental ABI encoder (referred to as ABIEncoderV2). The new ABI encoder is still marked as experimental, but we nevertheless think that this deserves a prominent announcement since it is already used on mainnet.
Credits to Ming Chuan Lin (of https://www.secondstate.io) for both discovering and fixing the bug!

The 0.5.10 release contains the fixes to the bugs.
At the moment, we do not plan to publish a fix to the legacy 0.4.x series of Solidity, but we might if there is popular demand.

Both bugs should be easily visible in tests that touch the relevant code paths.

Details about the two bugs can be found below.

Signed Integer Array Bug

Who should be concerned

If you have deployed contracts which use signed integer arrays in storage and either directly assign

  • a literal array with at least one negative value in it (x = [-1, -2, -3];) or
  • an existing array of a different signed integer type

to it, this will lead to data corruption in the storage array.

Contracts that only assign individual array elements (i.e. with x[2] = -1;) are not affected.

How to check if contract is vulnerable

If you use signed integer arrays in storage, try to run tests where you use negative values. The effect should be that the actual value stored is positive instead of negative.

If you have a contract that meets these conditions, and want to verify whether the contract is indeed vulnerable, you can reach out to us via security@ethereum.org.

Technical details

Storage arrays can be assigned from arrays of different type. During this copy and assignment operation, a type conversion is performed on each of the elements. In addition to the conversion, especially if the signed integer type is shorter than 256 bits, certain bits of the value have to be zeroed out in preparation for storing multiple values in the same storage slot.

Which bits to zero out was incorrectly determined from the source and not the target type. This leads to too many bits being zeroed out. In particular, the sign bit will be zero which makes the value positive.

ABIEncoderV2 Array Bug

Who should be concerned

If you have deployed contracts which use the experimental ABI encoder V2, then those might be affected. This means that only contracts which use the following directive within the source code can be affected:

pragma experimental ABIEncoderV2;

Additionally, there are a number of requirements for the bug to trigger. See technical details further below for more information.

How to check if contract is vulnerable

The bug only manifests itself when all of the following conditions are met:

  • Storage data involving arrays or structs is sent directly to an external function call, to abi.encode or to event data without prior assignment to a local (memory) variable AND
  • this data either contains an array of structs or an array of statically-sized arrays (i.e. at least two-dimensional).

In addition to that, in the following situation, your code is NOT affected:

  • if you only return such data and do not use it in abi.encode, external calls or event data.

Possible consequences

Naturally, any bug can have wildly varying consequences depending on the program control flow, but we expect that this is more likely to lead to malfunction than exploitability.

The bug, when triggered, will under certain circumstances send corrupt parameters on method invocations to other contracts.

Technical details

During the encoding process, the experimental ABI encoder does not properly advance to the next element in an array in case the elements occupy more than a single slot in storage.

This is only the case for elements that are structs or statically-sized arrays. Arrays of dynamically-sized arrays or of elementary datatypes are not affected.

The specific effect you will see is that data is “shifted” in the encoded array: If you have an array of type uint[2][] and it contains the data
[[1, 2], [3, 4], [5, 6]], then it will be encoded as [[1, 2], [2, 3], [3, 4]] because the encoder only advances by a single slot between elements instead of two.

This post was jointly composed by @axic, @chriseth, @holiman

Total
0
Shares
Share 0
Tweet 0
Pin it 0
Roubens Andy King

Previous Article
Tom Lee Buys M In Ethereum As Bitmine Expands Treasury To B ETH
  • Forex

Tom Lee Buys $45M In Ethereum As Bitmine Expands Treasury To $7B ETH

  • August 24, 2025
  • Roubens Andy King
Read More
Next Article
xAI releases the weights of Grok 2 on Hugging Face, under the Grok 2 Community License Agreement; Musk says Grok 3 “will be made open source in about 6 months” (Anthony Ha/TechCrunch)
  • Tech

xAI releases the weights of Grok 2 on Hugging Face, under the Grok 2 Community License Agreement; Musk says Grok 3 “will be made open source in about 6 months” (Anthony Ha/TechCrunch)

  • August 24, 2025
  • Roubens Andy King
Read More
You May Also Like
Crypto Treasury Narrative Bears Striking Similarly to Dotcom-Era Thinking
Read More
  • Crypto

Crypto Treasury Narrative Bears Striking Similarly to Dotcom-Era Thinking

  • Roubens Andy King
  • September 27, 2025
Ethereum price hits k support as ETFs see record 5m outflow
Read More
  • Crypto

Ethereum price hits $4k support as ETFs see record $795m outflow

  • Roubens Andy King
  • September 27, 2025
On Mining | Ethereum Foundation Blog
Read More
  • Crypto

On Mining | Ethereum Foundation Blog

  • Roubens Andy King
  • September 27, 2025
Bitcoin Daily RSI At Most Oversold Level Since April — Time To Buy? 
Read More
  • Crypto

Bitcoin Daily RSI At Most Oversold Level Since April — Time To Buy? 

  • Roubens Andy King
  • September 27, 2025
The UK Needs Regulatory Clarity That Matches Ambition
Read More
  • Crypto

The UK Needs Regulatory Clarity That Matches Ambition

  • Roubens Andy King
  • September 27, 2025
Bitcoin Price Forms Bearish Evening Star Pattern On Weekly Chart, But Can Price Go Below 0,000?
Read More
  • Crypto

Bitcoin Price Forms Bearish Evening Star Pattern On Weekly Chart, But Can Price Go Below $100,000?

  • Roubens Andy King
  • September 27, 2025
Trump-Linked WLFI Burns .43M in Tokens After Recent Buyback
Read More
  • Crypto

Trump-Linked WLFI Burns $1.43M in Tokens After Recent Buyback

  • Roubens Andy King
  • September 27, 2025
On Stake | Ethereum Foundation Blog
Read More
  • Crypto

On Stake | Ethereum Foundation Blog

  • Roubens Andy King
  • September 27, 2025

Recent Posts

  • ETF में Invest में करें या नहीं | Sagar Sinha Podcast | Sagar Sinha Podcast
  • New Business Ideas from China 2026 | How to Import from China
  • The Next Wave of AI Safety Tools in Wearables
  • Sources of business finance | Chapter 8 | Business Studies | Class 11 | Part 3
  • From ₹5000 to X Crore -The Power of SIP Investing | #investing #mutualfunds #shorts |
Featured Posts
  • ETF में Invest में करें या नहीं | Sagar Sinha Podcast | Sagar Sinha Podcast 1
    ETF में Invest में करें या नहीं | Sagar Sinha Podcast | Sagar Sinha Podcast
    • March 1, 2026
  • New Business Ideas from China 2026 | How to Import from China 2
    New Business Ideas from China 2026 | How to Import from China
    • February 28, 2026
  • The Next Wave of AI Safety Tools in Wearables 3
    The Next Wave of AI Safety Tools in Wearables
    • February 28, 2026
  • Sources of business finance | Chapter 8 | Business Studies | Class 11 | Part 3 4
    Sources of business finance | Chapter 8 | Business Studies | Class 11 | Part 3
    • February 27, 2026
  • From ₹5000 to X Crore -The Power of SIP Investing | #investing  #mutualfunds  #shorts | 5
    From ₹5000 to X Crore -The Power of SIP Investing | #investing #mutualfunds #shorts |
    • February 26, 2026
Recent Posts
  • 20 Things I Always Buy at the Dollar Store to Save Money
    20 Things I Always Buy at the Dollar Store to Save Money
    • February 26, 2026
  • Laziest Way To Make Money With AI (3/day+)
    Laziest Way To Make Money With AI ($373/day+)
    • February 25, 2026
  • Financial Maths Grade 10 | Simple Interest Introduction
    Financial Maths Grade 10 | Simple Interest Introduction
    • February 24, 2026
Categories
  • Business (2,057)
  • Crypto (2,023)
  • Economy (220)
  • Finance Expert (1,687)
  • Forex (2,016)
  • Invest News (2,441)
  • Investing (2,040)
  • Tech (2,056)
  • Trading (2,024)
  • Uncategorized (2)
  • Videos (987)

Subscribe

Subscribe now to our newsletter

Money Visa
  • Privacy Policy
  • DMCA
  • Terms of Use
Money & Invest Advices

Input your search keywords and press Enter.