Quantstamp reviewed Liquid Collective (Liquid Collective - Solana) on 25 Mar 2025: 3 findings, 0 critical; all marked fixed.
Report hosted on certificate.quantstamp.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 0 | 1 |
| Medium | 0 | 0 | 0 |
| Low | 0 | 0 | 2 |
The `AddToAllowlistEntry` and `RemoveFromAllowlistEntry` instructions have the following constraint for the `allower` signer value: ``` address = state.allower @ ErrorCode::OnlyAllower ``` However, the `allow_list_entry` account passed to both instructions only has the following constraint for its seeds: ``` seeds = [b"allow_list_entry", args.stake_pool.as_ref(), args.user_account.as_ref()] ``` This effectively means that a valid `state` has to be passed to the instruction and that the `allower` that signs the transaction has to be that state's allower. However, this also means that, as long as the allower passes a valid `stake_pool` account and a valid `user_account`, they can add/remove said user account to/from the allow list for the referenced stake pool. As a result, any account that has `allower` access to any state can add and remove users from any arbitrary stake pool they desire.
The following functions do not validate public key values before setting them, resulting in setting/resetting account identifiers to the default public key if it is sent in the transaction. This is similar to the lack of zero address checks issue in Solidity code bases. - The `new_pauser` key in `processors::set_pauser::exec()` - The `new_allower` key in `processors::set_allower::exec()` - The `admin`, `allower`, `pauser`, and `initial_manager` keys in `processors::initialize::exec()`
The `FeeArgs` struct consists of two parts, a `numerator` and a `denominator`, representing the two parts of a fraction. There is currently no validation that the `denominator` part of the struct isn't a zero, which may lead to unwanted consequences and potential reverts if an invalid `FeeArgs` is sent in transactions.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (2)
236 projects reviewed · 332 reports · latest Oct 2026
See Quantstamp’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us