CVE-2026-55763: klever-go: Percentage-transfer royalty skips the source debit at exactly-100% splits
In processPercentageRoyaltiesTransfer the royalty pool is collected from the sender by SubFromBalance that is
ordered after the split loop and after if royaltiesToPay <= 0 { return Ok }. The split-payout guard rejects
only an allocation that exceeds the pool (a strict splitToPay > royaltiesToPay), so a split entry of exactly
100% (PercentTransferPercentage = 10000) is a valid config: it drives royaltiesToPay to 0 and hits the
early-return before the sender is debited. The split recipient keeps the full royalty; the sender pays nothing
for it → mint. The sibling fixed-royalty path (processFixedRoyaltiesTransfer) debits the sender first and is
safe. Only the percentage-transfer path collects and distributes in the same function with the collect placed after
the early-return.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-55763 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →