Overflow check
Description
- Vulnerability Category:
Arithmetic
- Vulnerability Severity:
Critical
- Detectors:
overflow-check
- Test Cases:
overflow-check-1
Checks that overflow-checks
is enabled in the [profile.release]
section of the Cargo.toml
.
Integer overflow will trigger a panic in debug builds or will wrap in release mode. Division by zero will cause a panic in either mode. In some applications one wants explicitly checked, wrapping or saturating arithmetic.
Exploit Scenario
Consider the following Cargo.toml
, in a Soroban
contract:
[profile.release]
overflow-checks = false
Problems can arise if overflow-checks
is disabled.
The vulnerable code example can be found here
.
Remediation
[profile.release]
overflow-checks = true
The remediated code example can be found here
.