Foundation news
Author
Stellar Development Foundation
Publishing date
On October 9, 2025 (UTC), the Stellar Development Foundation (SDF) identified an issue in the public network related to a new feature called “Soroban Live State Prioritization.” This feature, introduced in Whisk Protocol 23 (P23), aimed to improve how the network handles and stores data. However, a bug in this feature began corrupting certain data entries as early as September 4, 2025, and remained undetected for 35 days.
The Foundation quickly worked with impacted parties and validators to contain (by October 10, 2025) and resolve (by October 23, 2025).
In total, 478 data entries were originally corrupted, but most of them could be repaired to their expected value. After fixes, only 84 remained corrupted and mitigations had to be taken by protocols and issuers.
The root cause of the incident was a bug in the way the network managed the transition of data entries between different storage areas. The feature is described in more detail in “Soroban Live State Prioritization” that introduces a novel two-tier ledger storage that helps unlock innovation not seen on other chains.
To make this clearer, here are brief explanations of key terms:
The bug occurred during “eviction”: instead of moving the most up-to-date version of each persistent entry, the system sometimes moved an outdated copy (like saving an old draft instead of the latest one). When these outdated entries were later restored, the network ended up operating on inconsistent information.
During the eviction scan when applying ledgers, the system generated a list of candidates for the “hot-archive” inclusive of their value. The issue was that these candidates were entries encountered during the scan of the Bucket List at arbitrary levels which represent different points in time. To draw from the analogy above, they sometimes were pulled from the wrong layer of the layered filing cabinet. While the code correctly checked for expiration by loading the latest Time-To-Live (TTL) value, it failed to load the latest version of the entry itself if there was one, leading to recording an outdated value in the “hot-archive”.
Note that prior to Whisk (P23), this mechanism was not an issue because eviction was done within the live state, and for that we only needed the up-to-date TTL value: temporaries would be deleted, and persistent entries would just stay untouched in the ledger.
The fix is for every eviction candidate to load the latest version of the entry from the Bucket List snapshot.
We spent time with the internal team, external developers, and partners to discuss areas for improvement that we began to action immediately, including:
To further strengthen our network and processes, we are implementing specific strategies:
By embracing these improvements, SDF reaffirms our commitment to transparency, reliability, and continued collaboration with all stakeholders in support of the Stellar network.