Katalog CVE

CVE-2026-26267

Wysokie
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Podatność w soroban-sdk, przed wersjami 22.0.10, 23.5.2 i 25.1.1, dotyczy błędu w makrze `#[contractimpl]`, które niewłaściwie łączy wywołania funkcji. W przypadku zdefiniowania funkcji o tej samej nazwie w bloku `impl MyContract`, wywoływana jest funkcja inherentna zamiast funkcji z traitu, co może prowadzić do pominięcia ważnych kontroli bezpieczeństwa.

Ocena ryzyka

Organizacja narażona jest na ryzyko, że ważne kontrole bezpieczeństwa, takie jak weryfikacja uprawnień, nie zostaną przeprowadzone, co może prowadzić do nieautoryzowanego dostępu do funkcji kontraktu.

Rekomendacja

Zaleca się aktualizację soroban-sdk do wersji 22.0.10, 23.5.2 lub 25.1.1, aby usunąć tę podatność oraz przeglądanie kodu w celu identyfikacji i naprawy potencjalnych problemów związanych z wywołaniami funkcji.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

soroban-sdk is a Rust SDK for Soroban contracts. Prior to versions 22.0.10, 23.5.2, and 25.1.1, the `#[contractimpl]` macro contains a bug in how it wires up function calls. `#[contractimpl]` generates code that uses `MyContract::value()` style calls even when it's processing the trait version. This means if an inherent function is also defined with the same name, the inherent function gets called instead of the trait function. This means the Wasm-exported entry point silently calls the wrong function when two conditions are met simultaneously: First, an `impl Trait for MyContract` block is defined with one or more functions, with `#[contractimpl]` applied. Second, an `impl MyContract` block is defined with one or more identically named functions, without `#[contractimpl]` applied. If the trait version contains important security checks, such as verifying the caller is authorized, that the inherent version does not, those checks are bypassed. Anyone interacting with the contract throug

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS