High, CVSS 8.8crates.ioPublished
Uncaught Panic in ORML Rewards Pallet
GHSA-5v93-9mqw-p9mh
- Affected
- crates.io orml-rewards < 1.2.1
- Fixed in
- 1.2.1· Vendor fix available
- Issue
- A vulnerability in the addshare function of the Rewards pallet (part of the ORML repository) can lead to an uncaught Rust panic when handling user-provided input exceeding the u128 range. Affected Components - ORML Rewards pallet (rewards/src/lib.rs) - Any Substrate-based chain using ORML Rewards with addshare accepting unvalidated large u128 inputs Technical Details - addshare performs arithmetic on user-supplied values (addamount) of type T::Share (mapped to u128 in Acala). - If addamount is large enough (e.g., i128::MAX), the intermediate result may overflow and panic on the cast to u128. - Validation occurs only after arithmetic, enabling a crafted input to trigger an overflow. Impact A malicious user submitting a specially crafted extrinsic can cause a panic in the runtime: - Denial of Service by crashing the node process. - Potential for invalid blocks produced by validators. Likelihood This issue is exploitable in production if there exists at least one rewards pool…
Recommended action: Upgrade to 1.2.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.