LiveActive security incident?Get immediate response
CVE Record

CVE-2026-24889: soroban-sdk has overflow in Bytes::slice, Vec::slice, GenRange::gen_range for u64

soroban-sdk is a Rust SDK for Soroban contracts. Arithmetic overflow can be triggered in the `Bytes::slice`, `Vec::slice`, and `Prng::gen_range` (for `u64`) methods in the `soroban-sdk` in versions up to and including `25.0.1`, `23.5.1`, and `25.0.2`. Contracts that pass user-controlled or computed range bounds to `Bytes::slice`, `Vec::slice`, or `Prng::gen_range` may silently operate on incorrect data ranges or generate random numbers from an unintended range, potentially resulting in corrupted contract state. Note that the best practice when using the `soroban-sdk` and building Soroban contracts is to always enable `overflow-checks = true`. The `stellar contract init` tool that prepares the boiler plate for a Soroban contract, as well as all examples and docs, encourage the use of configuring `overflow-checks = true` on `release` profiles so that these arithmetic operations fail rather than silently wrap. Contracts are only impacted if they use `overflow-checks = false` either explicitly or implicitly. It is anticipated the majority of contracts could not be impacted because the best practice encouraged by tooling is to enable `overflow-checks`. The fix available in `25.0.1`, `23.5.1`, and `25.0.2` replaces bare arithmetic with `checked_add` / `checked_sub`, ensuring overflow traps regardless of the `overflow-checks` profile setting. As a workaround, contract workspaces can be configured with a profile available in the GitHub Securtity Advisory to enable overflow checks on the arithmetic operations. This is the best practice when developing Soroban contracts, and the default if using the contract boilerplate generated using `stellar contract init`. Alternatively, contracts can validate range bounds before passing them to `slice` or `gen_range` to ensure the conversions cannot overflow.

MediumCVSS 5.3Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This affects some Stellar Soroban smart contracts built with vulnerable rs-soroban-sdk versions. A math overflow in slice and random-range helpers can make a contract use the wrong data range or random range. Business impact is mainly incorrect contract state, not data theft. Exposure is narrower when projects follow the recommended release setting: overflow-checks = true.

Executive priority

Treat as a targeted smart-contract integrity issue. Prioritize teams operating Soroban contracts, especially financial or stateful contracts. It is not currently supported as actively exploited, but affected contracts should be reviewed and rebuilt because incorrect state changes can be costly to unwind.

Technical view

CVE-2026-24889 is CWE-190 in soroban-sdk Bytes::slice, Vec::slice, and Prng::gen_range for u64. Affected ranges include <22.0.9, 23.0.0 to <23.5.1, and 25.0.0 to <25.0.2. Risk requires vulnerable SDK use, disabled overflow checks, and user-controlled or computed bounds reaching these methods.

Likely exposure

Most likely exposed assets are Soroban contracts compiled with affected rs-soroban-sdk versions and release profiles that explicitly or implicitly disable overflow checks. Contracts are more exposed if they pass user-controlled or computed range bounds into Bytes::slice, Vec::slice, or Prng::gen_range.

Exploitation context

The CVSS vector indicates network-reachable, low-complexity, unauthenticated triggering with low integrity impact. The source bundle does not report active exploitation, and KEV is false. The practical outcome described is silent incorrect ranges or unintended random ranges, potentially corrupting contract state.

Researcher notes

There is a wording inconsistency in the supplied description around fixed versions, while the affected ranges and release references indicate fixes at 22.0.9, 23.5.1, and 25.0.2. Validate against the GitHub advisory before remediation planning. Do not assume impact unless overflow checks are disabled and vulnerable methods receive unsafe bounds.

Mitigation direction

  • Upgrade rs-soroban-sdk to the fixed release for your major version: 22.0.9, 23.5.1, or 25.0.2.
  • Enable overflow-checks = true in release profiles for Soroban contract workspaces.
  • Validate range bounds before calling slice or gen_range methods.
  • Review the GitHub security advisory for the documented workaround profile.

Validation and detection

  • Inventory Cargo.lock and manifests for rs-soroban-sdk versions in affected ranges.
  • Check contract release profiles for overflow-checks settings.
  • Review code for Bytes::slice, Vec::slice, and Prng::gen_range with computed or user-controlled bounds.
  • Confirm rebuilt contracts use a fixed SDK or overflow checks enabled.
  • Assess whether any deployed contract state could have been affected by incorrect ranges.
Prepared
Confidence
high
Sources
7

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-190: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-24889 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
5.3 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
9Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
5.3CVSS 3.1MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N3.91.4Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

5.3Medium
CVSS 3.1 vector shape for CVE-2026-24889Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
stellarrs-soroban-sdk< 22.0.9, >= 23.0.0, < 23.5.1, >= 25.0.0, < 25.0.2Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.