A vulnerability was identified via responsible disclosure and has been mitigated in the Spark protocol. It affects multi-input Spark spends only; single-input spends are unaffected. Your wall
A vulnerability was identified via responsible disclosure and has been mitigated in the Spark protocol. It affects multi-input Spark spends only; single-input spends are unaffected. Your wallet and private keys are safe. This is not a wallet-compromise or key-theft bug. No one can access your wallet, obtain your keys, or remove coins from your address. This is a supply-integrity (inflation) issue: under specific conditions an attacker could forge Spark coins in multi-input transactions. We have mitigated it by disabling multi-input spends temporarily and are monitoring supply closely.
Please upgrade to v0.14.17.2. Until the next hard fork, Spark spends are limited to a single input. For maximum privacy, wait for the next hard fork (v0.14.18.0) before spending Spark. Single-input-only spends can leak amount correlations (see below).
What Happened
On 1 August 2026 we received a vulnerability disclosure from Carter Annandale regarding the Spark protocol. We acknowledged it on 2 August and confirmed its validity: the issue allows an attacker to forge Spark coins in multi-input transactions. Single-input transactions are not affected. On 6 August we received an independent report of the same issue from Giap Vu.
Aside from a small, controlled amount (~200 FIRO) generated on mainnet by the researcher to validate the finding, we have found no evidence of inflation at this time and are continuing to monitor closely.
On the Nature of the Bug
The vulnerability originated in the Spark cryptography paper and was missed by both cryptography audits (we commissioned two) and the code audit. It is not a typo, a missing bounds check, or an obviously dropped validation but instead is a subtle error. Reassuringly, it is straightforward to fix and does not require any overhaul or redesign of the Lelantus Spark protocol.
How We Mitigated It
The main challenge was deploying a fix without alerting adversaries while the network updated. Working with key infrastructure providers, we first deployed a patch that disables multi-input Spark spends, securing the network ahead of a public release. Our thanks to WoolyPooly, Cedric Crispin, and Rplant on the mining side and Nodehub, Allnodes, Evoznode and Pecunia on the masternode side for their fast updates, which gave us the consensus needed to secure the network. Others were contacted but did not respond.
The fix was developed and reviewed by the Firo core team together with the developers and cryptographers at Cypher Stack, and additionally reviewed by HashCloak (one of the original Spark cryptography and code auditors). The team at Cypher Stack had jumped into action despite a busy period and did a lot of the heavy lifting, unprompted and voluntarily, greatly relieving the load. In particular, we would like to thank Josh Babb, Samuel Graf Noether, Julian Anderson, Dan Miller and Diego Salazar. HashCloak has also been a long time supporter of Firo and we would like to thank Mikerah and Manish for helping to validate the fixes.
Releases
v0.14.17.2 (available now): Allows users to make single-input Spark spends if they need to move funds before the next hard fork. Note that because Spark mints cannot currently be consolidated, single-input spends may reveal some correlation between amounts.
v0.14.18.0 (targeted for the 3rd week of August): A hard fork that re-enables full multi-input Spark spends. We will announce the exact activation height ahead of time. To protect your privacy, we recommend waiting until the v0.14.18.0 hard fork before making Spark spends, to avoid amount-correlation analysis.
Full technical details of the fix will be published after the second hard fork has activated.