CVE-2026-61604: ixo Blockchain x/bonds DID-resolved payer drain + x/entity ICA authorization bypass

Published Sep 24, 2026
·
Updated

Impact

Type: Improper authorization leading to unauthorized movement of user funds.

The x/bonds module moved funds from an address that was resolved from a DID verification method, without verifying that the resolved address belonged to the transaction signer. Affected handlers included MsgMakeOutcomePayment, MsgBuy, MsgSell, MsgSwap, and MsgWithdrawShare, as well as the batch order processor.

Because any account may list an arbitrary blockchainAccountID as a verification method on a DID it controls (without the consent of that address's owner), an attacker could register victims' addresses as verification methods on their own DID and then move the victims' balances into a bond the attacker controlled — later withdrawing and bridging the proceeds off-chain.

This was exploited on ixo mainnet (ixo-5) on 2026-06-20. The attack required no victim keys, signatures, or system compromise — any account holding a balance in a token a bond could use was at risk.

Patches

Fixed in v8.0.0, delivered via the on-chain v8 software-upgrade. The x/bonds module is disabled: every bonds message is rejected on all routes (top-level, authz, CosmWasm, and ICA), and the bonds batch EndBlocker is a no-op so no further reserve movements can occur.

All node operators and validators must upgrade to v8.0.0. The flaw is in chain state-machine logic and can only be remediated by running the patched binary.

Workarounds

There is no application-level workaround. The vulnerability is in consensus logic; remediation requires the network to run the patched (v8.0.0) binary. The bonds module remains disabled in v8.0.0 and will only be re-enabled in a future release once the signer-authorization model has been corrected.

Other sources

The ixo Blockchain is a Layer 1 blockchain that runs on both Testnet and Mainnet. Prior to version 8.0.0, the x/bonds module moved funds from an address that was resolved from a DID verification method, without verifying that the resolved address belonged to the transaction signer. Affected handlers included MsgMakeOutcomePayment, MsgBuy, MsgSell, MsgSwap, and MsgWithdrawShare, as well as the batch order processor. Because any account may list an arbitrary blockchainAccountID as a verification method on a DID it controls (without the consent of that address's owner), an attacker could register victims' addresses as verification methods on their own DID and then move the victims' balances into a bond the attacker controlled — later withdrawing and bridging the proceeds off-chain. This was exploited on ixo mainnet (ixo-5) on 2026-06-20. The attack required no victim keys, signatures, or system compromise — any account holding a balance in a token a bond could use was at risk. This was fixed in v8.0.0, delivered via the on-chain v8 software-upgrade. The x/bonds module is disabled: every bonds message is rejected on all routes (top-level, authz, CosmWasm, and ICA), and the bonds batch EndBlocker is a no-op so no further reserve movements can occur. All node operators and validators must upgrade to v8.0.0. The flaw is in chain state-machine logic and can only be remediated by running the patched binary. There is no application-level workaround. The vulnerability is in consensus logic; remediation requires the network to run the patched (v8.0.0) binary. The bonds module remains disabled in v8.0.0 and will only be re-enabled in a future release once the signer-authorization model has been corrected.

— MITRE

Affected Software

8 affected componentsFixes available
ixo ixo Blockchain<8.0.0
go/github.com/ixofoundation/ixo-blockchain<=1.6.0
go/github.com/ixofoundation/ixo-blockchain/v3<=3.0.0
go/github.com/ixofoundation/ixo-blockchain/v4<=4.0.0
go/github.com/ixofoundation/ixo-blockchain/v5<=5.0.0
go/github.com/ixofoundation/ixo-blockchain/v6<=6.0.1
go/github.com/ixofoundation/ixo-blockchain/v7<=7.0.0
go/github.com/ixofoundation/ixo-blockchain/v8<8.0.0
8.0.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/ixofoundation/ixo-blockchain/v8 to a version that resolves this vulnerability.

    Fixed in 8.0.0
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in v8.0.0Patch on-chain v8 software-upgrade

Event History

Sep 24, 2026
CVE Published
via MITRE·05:45 PM
Data Sourced
via MITRE·05:45 PM
DescriptionWeakness
Data Sourced
via NVD·06:17 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·07:22 PM
Data Sourced
via GitHub·07:22 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Who was exposed to fund loss?

Any account holding a balance in a token that a bond could use was at risk. An attacker did not need the victim's keys, signatures, or a compromise of the victim's system.

2

What did an attacker need to do to exploit the issue?

The attacker could control a DID and add a victim's address as a blockchainAccountID verification method without that address owner's consent. They could then use affected x/bonds handlers to move the victim's funds into a bond they controlled and later withdraw and bridge the proceeds off-chain.

3

Has this issue been exploited in practice?

Yes. It was exploited on ixo mainnet (ixo-5) on 2026-06-20.

4

What is the available mitigation?

The issue was fixed in v8.0.0 through the on-chain v8 software upgrade. The x/bonds module is disabled, and bonds messages are rejected on top-level, authz, CosmWasm, and ICA routes.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203