CVE-2026-24889 in rs-soroban-sdkinformation

Résumé

par VulDB • 24/05/2026

soroban-sdk est un SDK Rust pour les contrats Soroban. Un dépassement d'arithmétique (arithmetic overflow) peut être déclenché dans les méthodes `Bytes::slice`, `Vec::slice` et `Prng::gen_range` (pour `u64`) de `soroban-sdk` dans les versions allant jusqu'à et y compris `25.0.1`, `23.5.1` et `25.0.2`. Les contrats qui transmettent des bornes de plage contrôlées par l'utilisateur ou calculées à `Bytes::slice`, `Vec::slice` ou `Prng::gen_range` peuvent opérer silencieusement sur des plages de données incorrectes ou générer des nombres aléatoires à partir d'une plage non prévue, ce qui peut entraîner un état de contrat corrompu. Notez que la bonne pratique lors de l'utilisation de `soroban-sdk` et de la création de contrats Soroban consiste toujours à activer `overflow-checks = true`. L'outil `stellar contract init`, qui prépare le squelette (boiler plate) d'un contrat Soroban, ainsi que tous les exemples et la documentation, encouragent l'utilisation de la configuration `overflow-checks = true` sur les profils `release` afin que ces opérations arithmétiques échouent plutôt que de se replier silencieusement (wrap). Les contrats ne sont impactés que s'ils utilisent `overflow-checks = false`, explicitement ou implicitement. Il est prévu que la majorité des contrats ne soient pas impactés car la bonne pratique encouragée par les outils est d'activer `overflow-checks`. La correction disponible dans `25.0.1`, `23.5.1` et `25.0.2` remplace les opérations arithmétiques brutes par `checked_add` / `checked_sub`, garantissant des pièges de dépassement (overflow traps) indépendamment du paramètre de profil `overflow-checks`. En tant que solution de contournement, les espaces de travail de contrats peuvent être configurés avec un profil disponible dans l'avis de sécurité GitHub pour activer les vérifications de dépassement sur les opérations arithmétiques. Il s'agit de la bonne pratique lors du développement de contrats Soroban, et c'est le paramètre par défaut si l'on utilise le squelette de contrat généré à l'aide de `stellar contract init`. Alternativement, les contrats peuvent valider les bornes de plage avant de les transmettre à `slice` ou `gen_range` pour s'assurer que les conversions ne peuvent pas déborder.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

GitHub M

Réserver

27/01/2026

Divulgation

29/01/2026

Modérer

accepté

Entrée

VDB-343328

CPE

prêt

EPSS

0.00353

KEV

non

Activités

très faible

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!