Impact
The vulnerability in soroban-sdk’s Fr scalar field types causes equality checks to compare raw U256 values without reducing modulo the field modulus. Consequently, two mathematically equal field elements can evaluate as not‑equal when one or both values are unreduced (i.e., greater than or equal to the modulus). Contracts that rely on these equality checks for security‑critical decisions—such as authorization or validation—can therefore produce incorrect results, potentially allowing an attacker to bypass expected restrictions or cause erroneous behavior. This issue represents a functional logic vulnerability, not an immediate code‑execution flaw. The weakness corresponds to CWE‑697, "Incorrect Verification of Cryptographic Operation Results."
Affected Systems
The bug affects the stellar:rs-soroban-sdk package, specifically the Fr types for the BN254 and BLS12‑381 elliptic curves. Versions prior to 22.0.11, 23.5.3, and 25.3.0 are impacted. All other versions and products were not listed as affected.
Risk and Exploitability
The CVSS base score for this issue is 5.3, indicating moderate severity. EPSS indicates less than 1 % likelihood of exploitation, and the vulnerability is not listed in the CISA KEV catalog, suggesting it is not actively exploited at the time of this advisory. Exploitation requires an attacker to supply crafted Fr values through contract inputs and directly invoke the vulnerable equality check without the host performing arithmetic with reduction. Thus, any contract that uses Fr equality for critical logic is a potential target; otherwise the flaw remains a local logic issue within the contract’s execution context.
OpenCVE Enrichment
Github GHSA