ASA-2022-003, known as Dragonberry, is a critical security advisory for the IBC-Go implementation of the Inter-Blockchain Communication protocol. The vulnerability resides in the Interchain Accounts (ICA) host submodule, where a flaw in the packet acknowledgment logic allows a malicious controller chain to craft a fraudulent OnChanOpenConfirm handshake. This bypasses the fundamental trust assumption that a host chain should only execute transactions authorized by the registered controller chain's interchain account.

ASA-2022-003: Dragonberry IBC-Go Security Advisory
Introduction
The Dragonberry advisory disclosed a critical trust assumption violation in the Interchain Accounts host module, enabling a malicious controller chain to steal funds from any host chain with an open ICA channel.
The operational consequence is a complete compromise of all funds held in escrow by the ICA host module on an affected chain. A malicious or compromised controller chain with an open ICA channel can drain tokens from the host chain without triggering standard security checks. The blast radius extends to every IBC-connected chain running a vulnerable version of IBC-Go (>= v2.0.0 and < v5.1.0) that has authorized at least one ICA channel. This is not a theoretical attack; it is a direct violation of the security model that underpins cross-chain account control.
Chain teams must treat this as an emergency patch event. Verification requires confirming the exact IBC-Go version, auditing all active ICA channels for unauthorized controller chains, and applying the patched release immediately. Chainscore Labs provides cross-chain security review for teams needing to assess their ICA host configurations, validate the patch against their state machine, and coordinate a synchronized upgrade with their validator set.
Quick Facts
Essential facts about the Dragonberry vulnerability to help security teams, node operators, and chain architects assess immediate risk and required actions.
| Field | Value | Why it matters |
|---|---|---|
Advisory ID | ASA-2022-003 | Canonical identifier for tracking and cross-referencing with internal vulnerability databases. |
Severity | Critical | Indicates potential for complete loss of funds on affected host chains; demands immediate operator attention. |
Vulnerable Component | IBC-Go Interchain Accounts (ICA) host module | Defines the exact attack surface. Only chains with the ICA host module enabled are directly vulnerable. |
Root Cause | Trust assumption violation in ICA host message execution | The host chain incorrectly trusted the controller chain's authentication, allowing unauthorized transaction execution. |
Attack Vector | Malicious controller chain sends crafted ICA packet | A compromised or malicious controller chain can drain funds from the host chain without exploiting a host-side smart contract bug. |
Affected Versions | IBC-Go versions prior to the patched release | Operators must verify their specific IBC-Go dependency version against the official patch announcement to confirm exposure. |
Patch | Upgrade IBC-Go to the patched version | Applying the patch is the only definitive remediation. All other mitigations are temporary stopgaps. |
Blast Radius | All IBC-connected chains with ICA host enabled | The vulnerability is not isolated to a single chain; it is a systemic risk across the interchain for any host chain with open ICA channels. |
Root Cause and Technical Mechanism
The Dragonberry vulnerability is a critical logic flaw in the IBC-Go Interchain Accounts (ICA) host module that breaks a fundamental trust assumption, allowing a malicious controller chain to steal funds or execute arbitrary state transitions on a host chain.
The vulnerability resides in the ibc-go implementation of the ICS-27 Interchain Accounts standard, specifically within the host chain's packet handling logic. The core trust model of ICA dictates that a host chain should only execute transactions authorized by the interchain account's owner on the controller chain. The Dragonberry bug allows a malicious controller chain to craft an ICA packet that bypasses this authorization check. By manipulating the packet data, an attacker could cause the host chain to execute arbitrary MsgExecuteContract or Bank.MsgSend messages as if they originated from the legitimate interchain account owner, effectively granting the attacker full control over the associated account and its assets on the host chain.
The technical mechanism involves a failure in how the host module validates the AuthenticateTx callback during OnRecvPacket. The host chain relies on the controller chain to correctly serialize the owner's authentication into the packet's Data field. The vulnerability allows a malicious controller to construct a packet with a crafted Data field that, when deserialized by the host, satisfies the authentication predicate without a valid signature from the true owner. This means the host chain's state machine can be tricked into believing a transaction was authorized by the legitimate interchain account owner when it was not, violating the sovereignty and security of the host chain. Any chain with the ICA host module enabled and an open channel to a potentially malicious controller chain was at risk.
The operational impact is severe and cross-chain in nature. A compromised or malicious controller chain could drain all funds held by its interchain accounts on every connected host chain. This transforms a security incident on one chain into a systemic cross-chain event. For host chains, the immediate remediation required an emergency upgrade to a patched ibc-go version that correctly validates the authentication data. For controller chains, the advisory mandated verifying their own integrity and the security of their validator set, as a compromised controller could be used as a launchpad for attacks against all its connected hosts. Chainscore Labs can assist host chain teams in auditing their ICA channel authorization logic and verifying the integrity of their IBC-Go patch to ensure this trust assumption is fully restored.
Affected Systems and Actors
Core Protocol Teams
All IBC-connected chains running a vulnerable version of IBC-Go (v2.0.0 to v4.0.x) with the ICA host module enabled are critically affected. The vulnerability allows a malicious controller chain to execute arbitrary transactions on the host, including draining vaults or altering governance parameters.
Immediate Actions:
- Verify your IBC-Go version against the advisory.
- If vulnerable, apply the patch immediately. Do not wait for a governance-coordinated upgrade if the chain is sovereign.
- Audit all open ICA channels. Force-close channels from untrusted or unverified controller chains via governance.
- Review the authorization logic of your ICA host module. Ensure it limits message types and spending limits.
Chainscore can assist with emergency patch verification, ICA channel risk assessment, and governance proposal drafting for channel closure.
Remediation and Implementation Impact
The Dragonberry vulnerability requires immediate verification and remediation across all IBC-connected chains. The following actions are critical for chain operators, validators, and integration teams to secure their systems.
Verify IBC-Go Version and Patch Status
All chain teams must immediately verify their IBC-Go dependency version. The vulnerability affects versions >= v2.0.0 and < v5.1.0. The fix is in v5.1.0 and backported to v2.3.1, v3.3.1, and v4.2.1. Check your go.mod file for the exact github.com/cosmos/ibc-go version. If you are running an affected version, upgrade immediately. Do not rely on indirect version checks; confirm the compiled binary's IBC-Go module version directly.
Audit ICA Host Module Configuration
The vulnerability exploits a trust assumption violation in the Interchain Accounts (ICA) host module. Review all active ICA channels and the authorization logic for each controller chain. A malicious controller chain can submit arbitrary messages to the host. Implement allowlists for message types that a controller can execute. If you cannot patch immediately, consider using a governance proposal to close ICA channels to untrusted controller chains as an emergency mitigation.
Assess Cross-Chain Asset Exposure
Map the blast radius of a potential exploit by identifying all IBC-denominated assets on your chain that originate from chains with active ICA channels to your chain. A compromised controller chain could drain vaults, manipulate pools, or mint unbacked vouchers. Exchange teams should review deposit and withdrawal logic for IBC assets. Risk teams should quantify the maximum value at risk and prepare incident response procedures for a potential fund drainage event.
Coordinate Validator and Node Upgrade
This is not a consensus-breaking upgrade, but it is a critical security patch. Validators and node operators should coordinate a synchronized upgrade to the patched version. Use a governance proposal to signal the upgrade height if you want a coordinated cutover. Ensure all sentry nodes, RPC endpoints, and archive nodes are also patched. An unpatched node processing a malicious ICA packet can still be compromised even if the validator set has upgraded.
Verify Relayer Configurations
Relayer operators running Hermes or Go relayer should verify their configurations do not blindly relay ICA packets from untrusted chains. While the core vulnerability is in the host module, relayers can be configured to filter or delay packet relaying as a defense-in-depth measure. Review relayer allowlists and deny-lists for ICA channels. Ensure your relayer is running a version that is compatible with the patched IBC-Go host logic.
Risk and Compatibility Matrix
Evaluates the blast radius, failure modes, and required actions for different stakeholders affected by the critical trust assumption violation in the IBC-Go ICA host module.
| Area | Failure Mode | Who is affected | Action |
|---|---|---|---|
ICA Host Module | Malicious controller chain executes unauthorized transactions on host via Interchain Accounts, draining vaults or altering governance state | All IBC-connected chains with ICA host module enabled | Verify IBC-Go version is patched; audit all active ICA channel authorizations immediately |
Trust Assumption | Violation of the fundamental assumption that a host chain can trust the controller's authentication logic | Protocol architects and security engineers | Review and potentially restrict ICA host channel permissions to least privilege; reassess cross-chain security model |
IBC-Go Version | Unpatched versions contain the vulnerable code path allowing the exploit | Node operators and chain upgrade coordinators | Upgrade to patched IBC-Go version; verify binary integrity against canonical source |
Cross-Chain Fund Security | Direct theft of assets held in ICA-controlled vaults or smart contracts on the host chain | DeFi protocols, DAOs, and custodians using ICA | Monitor for anomalous ICA transactions; prepare emergency governance proposal to close compromised channels |
Governance Integrity | Malicious controller could execute governance actions on host chain via ICA, altering parameters or draining community pools | Governance delegates and protocol teams | Audit all ICA channel permissions granted to governance-related addresses; restrict to non-critical operations |
Relayer Infrastructure | Relayers may forward malicious packets from compromised controller chains, propagating the exploit | Relayer operators and interchain infrastructure teams | Monitor packet relay patterns for anomalous ICA activity; implement circuit breakers for suspicious channels |
Exchange and Custody Risk | Exchanges and custodians holding assets on host chains with open ICA channels face indirect loss risk | Exchange integration teams and custodians | Verify host chain patch status; assess exposure to chains with active ICA connections; review withdrawal limits |
Blast Radius Assessment | All IBC-connected chains with ICA host enabled are potentially affected, not just the compromised controller | Interchain security teams and risk analysts | Map all ICA channel connections across the interchain; coordinate synchronized disclosure and remediation with counterparty chains |
Incident Response and Remediation Checklist
A structured checklist for chain teams and operators to detect, contain, and remediate the critical trust assumption violation in the IBC-Go ICA host module. This checklist guides teams through version verification, blast radius assessment, patch deployment, and post-remediation validation to ensure the vulnerability is fully resolved.
What to check:
- Run your node binary and query the IBC-Go dependency version. Confirm whether it falls within the vulnerable range (IBC-Go versions >= v2.0.0 and < v5.0.0).
- Explicitly check if the Interchain Accounts (ICA) host module is enabled in your app.go configuration.
Why it matters:
- The vulnerability is a logic flaw in the ICA host module. If your chain does not use the ICA host module, you are not directly vulnerable, but you should still patch to prevent future risk.
- Running a vulnerable version with the ICA host enabled allows any malicious controller chain with an open channel to execute arbitrary transactions on your chain, potentially draining vaults or taking over governance.
Signal of readiness:
- You have a definitive list of all nodes and their IBC-Go versions.
- You have confirmed whether the ICA host module is active on your mainnet and testnet.
Source and Canonical Resources
Use these sources to verify ASA-2022-003 Dragonberry facts, affected IBC-Go versions, Interchain Accounts host exposure, and remediation status. Teams should confirm current patch guidance against the canonical advisory and their chain’s released binary.
Local Evidence Package for Auditors and Operators
Create a chain-specific evidence package: chain binary version, IBC-Go module version, ICA host enabled or disabled status, relevant app.toml or genesis parameters, upgrade height if applicable, validator adoption status, and post-upgrade smoke tests. This package lets exchanges, custodians, relayers, and protocol partners verify that Dragonberry remediation was actually applied. Chainscore can help review this evidence and identify residual ICA or IBC middleware risk.
Looking to build on a specific blockchain?
We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.
EVM ecosystems
- Ethereum
- Arbitrum
- Optimism
- Polygon
- Avalanche
- Cronos

Non-EVM ecosystems
- Solana
- Sui
- Aptos
- Hedera
- Stellar
- NEAR
Additional ecosystems
- Polkadot
- Cosmos
- TON
- Cardano
- Algorand
- Tempo
Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.
Frequently Asked Questions
Operational questions for chain teams, validator operators, and security engineers verifying their exposure to ASA-2022-003 and planning remediation.
Verify your IBC-Go dependency version. The vulnerability affects versions >= v2.0.0 and < v2.0.3, >= v3.0.0 and < v3.0.1, >= v4.0.0 and < v4.0.1, >= v5.0.0 and < v5.0.1, and >= v6.0.0.
Checklist:
- Inspect your
go.modfor thegithub.com/cosmos/ibc-gomodule version. - If you are on a patched version (
v2.0.3+,v3.0.1+,v4.0.1+,v5.0.1+,v6.0.0+), you are not vulnerable. - Critical secondary check: Confirm the Interchain Accounts (ICA) host module is enabled. If ICA host is disabled, the attack vector is not exploitable, but patching is still mandatory to prevent future risk if the module is enabled later.
- Do not rely on indirect version checks; a manual
go.sumaudit is insufficient. Review the direct dependency.
Delivering blockchain solutions for 5+ years.
We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.
Selected Partners & Clients
“I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.”
How to get started?
If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.
Exploration & Strategy
Define your product goals and choose the right blockchain architecture for your use case.
Architecture & Design
Design the smart contracts, tokenomics, and security parameters of your system.
Development & Integration
Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.
Security & Launch
Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.
Discover our
blockchain development services.
We build production-grade blockchain solutions for top-tier projects across DeFi and Web3.
Need a blockchain engineering team?
Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.


