Early rate$2,400 of senior audit time for $500. Early members keep the rate as it climbs.$2,400 of senior audit time for $500See how →
F-2025-0006·business-logic

Missing permanent lock validation in split function

FixedlendingmonadveToken
TL;DR

The split function did not validate that the source veNFT was not a permanent lock, allowing the user to split a permanent lock into pieces whose state would diverge from the permanent-lock invariant.

Severity
MEDIUM
Impact
MEDIUM
Likelihood
MEDIUM
Method
MManual review
CAT.
Complexity
LOW
Exploitability
MEDIUM
02Section · Description

Description

Neverland supports a "permanent lock" mode for veNFTs in addition to the time-limited locks. The split function did not validate the lock type of the source veNFT, allowing a permanent lock to be split. The resulting pieces' state did not consistently preserve the permanent-lock invariants, creating drift in the global accounting.

03Section · Impact

Impact

Permanent lock invariants could be violated through the split path, producing inconsistent global voting-power tracking and reward distribution for the affected positions.

04Section · Recommendation

Recommendation

Reject splits when the source veNFT is a permanent lock, or carefully derive both child positions with the same permanent-lock state and equivalent invariants.

Composable Security ID: NRL-6c19a5e-M02. Neverland Money: Fixed. Composable Security: Fix verified during retest.

Status
Fixed
Fix commit
816c394500f1
Fix date
2025-08-22
F-2025-0006