Axis Finance — disclosed vulnerability reports and payouts
Every publicly disclosed and closed bug bounty report we hold for Axis Finance, with our own summary of each finding and a link to the original disclosure.
- Reports indexed
- 2
- Total paid
- $0
- Critical
- 0
- Largest payout
- $0
This page collects the 2 closed, publicly disclosed Axis Finance reports indexed on Coin Buggie. Nothing here is active or unpatched — every entry was published by the programme or the researcher after remediation.
The findings concentrate in Logic error, across EVM-Solidity. Reading a single protocol end to end is the fastest way to see which assumptions its codebase repeatedly gets wrong, which is usually a better predictor of where the next finding lives than the category alone.
Use the vulnerability class links below to compare these findings against the same bug class in other protocols.
What reviewers look for
- Logic error findings disclosed against Axis Finance
Curated highlights
The largest disclosed payouts in this group, with our own summary of each. Every report links back to the original disclosure.
Axis Finance: Settlement of batch auction can exceed the gas limit
Axis Finance's EMPAM batch auction module settles auctions by iterating over every bid to compute the marginal price, and a second loop removes remaining bids from a heap queue. Each iteration performs gas-intensive heap operations, so with a sufficiently large number of bids (demonstrated with ~580 bids using a lowered minimum bid percent) the settlement transaction exhausts the block gas limit and reverts, permanently locking seller and bidder funds. The issue was acknowledged as valid by the protocol team, and the fix replaced the heap with a linked-list queue and capped settlement at 2500 bids.
Axis Finance: It is possible to DoS batch auctions by submitting invalid AltBn128 points when bidding
Axis Finance's Encrypted Marginal Price Auction (EMPA) relies on a simplified ECIES implementation over the AltBn128 curve. The `isValid()` check confirms a submitted bid public key is on the curve and is not the generator or identity points, but it never verifies that the x and y coordinates are below the field modulus. A bidder can therefore submit a point with a coordinate ≥ p that passes validation yet is genuinely invalid for the curve field. When the auction concludes, the decryption routine calls the ecMul precompile (EIP-196) on that invalid point with the global private key; the precompile reverts with 'ecMul failed.' Because the auction only transitions to the Decrypted state if all bids decrypt, a single poisoned bid permanently halts decryption, settlement and every subsequent action, stranding all bidder and prefunded auction funds. The issue was confirmed as High, reproduced with a Foundry test, and fixed in PR #138 by bounding coordinates below FIELD_MODULUS.