Introduction
We express our gratitude to the PushChain team for the collaborative engagement that enabled the execution of this Blockchain Protocol Security Assessment.
Push Chain is a shared-state Layer 1 that brings together Cosmos-style blockchain infrastructure with full Ethereum app compatibility, so developers can build in familiar tools while the chain coordinates activity across networks. Rather than connecting chains one bridge at a time, Push acts as a central hub where cross-chain actions are observed, agreed on, and executed—enabling universal applications that can reach users and assets on many chains from one place.
Document | |
|---|---|
| Name | Blockchain Protocol Review and Security Analysis Report for PushChain |
| Audited By | Tanuj Soni, Alfredo Ortega |
| Approved By | Ece Örsel |
| Website | https://push.org/→ |
| Changelog | 15/05/2026 - Preliminary Report |
| Changelog | 05/06/2026 - Second Preliminary Report |
| Changelog | 19/06/2026 - Final Report |
| Platform | PushChain |
| Language | Golang |
| Tags | Cosmos SDK, EVM compatible, Cross-chain hub |
| Methodology | https://docs.hacken.io/methodologies/blockchain-protocols→ |
Document
- Name
- Blockchain Protocol Review and Security Analysis Report for PushChain
- Audited By
- Tanuj Soni, Alfredo Ortega
- Approved By
- Ece Örsel
- Website
- https://push.org/→
- Changelog
- 15/05/2026 - Preliminary Report
- Changelog
- 05/06/2026 - Second Preliminary Report
- Changelog
- 19/06/2026 - Final Report
- Platform
- PushChain
- Language
- Golang
- Tags
- Cosmos SDK, EVM compatible, Cross-chain hub
Review Scope | |
|---|---|
| Repository | https://github.com/pushchain/push-chain-node→ |
| Commit | e6b7c77 |
| Repository | https://github.com/pushchain/push-chain-evm/→ |
| Commit | 9570d87 |
Review Scope
- Commit
e6b7c77- Commit
9570d87
Audit Summary
The system users should acknowledge all the risks summed up in the risks section of the report
{FindingsVulnSeverityStatusTable}
Documentation quality
The root
readme.mdprovides a concise product overview, environment prerequisites, local network startup guidance, and a repository layout. It does not articulate functional requirements, explicit security assumptions, or normative guarantees for cross-chain execution paths.Documentation for the custom modules (
x/uexecutor,x/uregistry,x/uvalidator,x/utss) is largely introductory. It does not systematically document message lifecycles, failure and recovery behavior, voting or quorum semantics, or administrative control boundaries to a level typically expected for independent protocol review.A consolidated technical specification covering trust model, finality and confirmation policy, upgrade authority, and state-transition invariants—is not present as a standalone deliverable. Protocol behavior is inferred primarily from source code and protobuf definitions the latter describe data shapes but do not substitute for a full protocol specification.
chain_metadata.jsonincludes placeholder or non-specific external references, which is consistent with metadata that has not been finalized for production publication.
Code quality
The implementation builds on established Cosmos SDK and Cosmos EVM components in a conventional manner. Push-specific EVM system contracts are integrated using widely used proxy patterns, with contract bytecode embedded in the registry module rather than distributed as a separately versioned contract package.
Some module scaffolding remains (for example unwired or placeholder migrations and example chain metadata). If activated or merged without additional review, such artifacts can increase operational and maintenance risk.
The universal modules and Universal Client introduce substantial custom logic. Cross-cutting concerns including hash normalization, ballot or observation identity, and oracle-related updates—are not uniformly enforced across all components, which can complicate reasoning about end-to-end behavior.
The repository provides a workable development setup:
Makefile, Docker-oriented tooling, local and testnet-oriented scripts, and stated prerequisites (Go 1.23+, Docker,jq).
Architecture quality
Scalability: The network is implemented as a single CometBFT-based L1 without sharding. Capacity is bounded by block limits, EVM execution cost, and off-chain operator throughput. Certain on-chain bookkeeping paths rely on linear scans over growing state, which may become a scaling consideration as history accumulates.
Decentralization: Consensus follows a standard validator model. Cross-chain operation additionally depends on a distinct universal-validator role, registry-defined routing and asset policy, and EVM-layer upgrade control for system contracts. Together, these introduce administrative and operational trust assumptions beyond the base staking layer.
Interoperability: The design targets interoperability via IBC, EVM interfaces, CosmWasm, and hub-style connectivity to external EVM and Solana networks through Universal Client. Cross-chain settlement is attestation-based and configuration-dependent rather than light-client–verified on a per-event basis.
Resilience: End-to-end resilience of cross-chain flows is not fully evidenced by the reviewed materials. Operational availability depends on Universal Client processes, external RPC reliability, and alignment between staking-derived validator state and universal-validator registry state. EVM system-contract upgrade authority represents a concentrated dependency in the overall architecture.
System Overview
Push Chain is a Cosmos SDK Layer 1 on CometBFT with native EVM and CosmWasm support. The node binary is pchaind the native token is upc. Alongside standard Cosmos, EVM, IBC, and token-factory modules, the chain adds four custom modules for universal cross-chain apps: registry, validator voting, on-chain execution, and threshold-signing coordination.
External chains connect through a hub model: operators run puniversald to observe events, validators vote them into consensus, Push executes the workflow (including EVM), and signed transactions complete actions on destination chains. Selected user and validator transactions can be processed without gas fees when they use only approved message types.
Custom Modules
Universal Client (
universalClient) Off-chain service run by universal validators alongsidepchaind. Watches external chains (EVM and Solana), submits vote transactions to Push, and collectively signs outbound transactions via threshold cryptography so no single operator holds full signing authority. Persists the chain-specific state locally and coordinates TSS sessions between validators.Universal Registry (
x/uregistry) Defines which external chains, tokens, and gateways Push recognizes. Administrators manage this configuration; execution modules reject operations on unsupported or disabled routes.Universal Validator (
x/uvalidator) Maintains the universal validator set and runs ballot voting on cross-chain observations. When enough validators agree, results are passed to the executor and TSS modules.Universal Executor (
x/uexecutor) Runs universal workflows on Push: processing inbounds from other chains, tracking transaction status, executing user payloads, and handling outbounds. Integrates with the EVM layer for contracts and account logic.Universal TSS (
x/utss) Coordinates threshold signing and fund migration when validator keys rotate. On-chain votes align with off-chain signing performed by Universal Client operators.
EVM Precompiles
Push extends the standard EVM precompile set so Solidity can call into Cosmos: bech32, p256, staking, distribution, IBC transfer, bank, gov, slashing, and evidence.
Push also adds usigverifier, which lets contracts verify signatures from supported external chains (e.g. Ed25519).
Risks
Core cross-chain contracts can be upgraded outside normal Cosmos governance; misuse could change system behavior and affect bridged assets.
Settlement still relies on validator agreement, with limited automatic protection against incorrect votes.
Key-management steps that need full participant agreement can stall if someone does not take part.
Events may be recorded before they are fully settled elsewhere, which can lead to later mismatches with source chains.
Accounts are tied to each source chain and owner, not automatically to one identity across all chains.
Findings
Code ― | Title | Status | Severity | |
|---|---|---|---|---|
| F-2026-1659 | Arbitrary memory allocation at UniversalClient | fixed | High | |
| F-2026-1696 | [PUSHCHAIN REPORTED] Issue 4 — EVM TX resolver marks “Tx not found” as reverted (double-spend edge case) | fixed | High | |
| F-2026-1694 | Iterator Invalidation in PruneValidatorVotes | unfixed | Medium | |
| F-2026-1674 | Solana RPC Signature Order Misassumption | fixed | Medium | |
| F-2026-1673 | ExecuteInboundFundsAndPayload State Desync | fixed | Medium | |
| F-2026-1699 | Hardcoded EOA as owner of every system-contract ProxyAdmin | accepted | Medium | |
| F-2026-1696 | [PUSHCHAIN-REPORTED] Issue 7 — Expiry sweeper votes REVERT based on push chain state, not observed chain state and can result into false voting | fixed | Medium | |
| F-2026-1696 | [PUSHCHAIN-REPORTED] Issue 3 — Fund migration broadcast retry storm after peer already migrated funds | fixed | Medium | |
| F-2026-1696 | [PUSHCHAIN REPORTED] Issue 2 — Fund migration failure due to hardcoded GasLimit and missing L1GasFeeBuffer | fixed | Medium | |
| F-2026-1696 | [PUSHCHAIN-REPORTED] Issue 1: RPC failover retries same endpoint under concurrent load | fixed | Medium |
Appendix 1. Severity Definitions
Severity | Description |
|---|---|
Critical | Vulnerabilities that can lead to a complete breakdown of the blockchain network's security, privacy, integrity, or availability fall under this category. They can disrupt the consensus mechanism, enabling a malicious entity to take control of the majority of nodes or facilitate 51% attacks. In addition, issues that could lead to widespread crashing of nodes, leading to a complete breakdown or significant halt of the network, are also considered critical along with issues that can lead to a massive theft of assets. Immediate attention and mitigation are required. |
High | High severity vulnerabilities are those that do not immediately risk the complete security or integrity of the network but can cause substantial harm. These are issues that could cause the crashing of several nodes, leading to temporary disruption of the network, or could manipulate the consensus mechanism to a certain extent, but not enough to execute a 51% attack. Partial breaches of privacy, unauthorized but limited access to sensitive information, and affecting the reliable execution of smart contracts also fall under this category. |
Medium | Medium severity vulnerabilities could negatively affect the blockchain protocol but are usually not capable of causing catastrophic damage. These could include vulnerabilities that allow minor breaches of user privacy, can slow down transaction processing, or can lead to relatively small financial losses. It may be possible to exploit these vulnerabilities under specific circumstances, or they may require a high level of access to exploit effectively. |
Low | Low severity vulnerabilities are minor flaws in the blockchain protocol that might not have a direct impact on security but could cause minor inefficiencies in transaction processing or slight delays in block propagation. They might include vulnerabilities that allow attackers to cause nuisance-level disruptions or are only exploitable under extremely rare and specific conditions. These vulnerabilities should be corrected but do not represent an immediate threat to the system. |
Severity
- Critical
Description
- Vulnerabilities that can lead to a complete breakdown of the blockchain network's security, privacy, integrity, or availability fall under this category. They can disrupt the consensus mechanism, enabling a malicious entity to take control of the majority of nodes or facilitate 51% attacks. In addition, issues that could lead to widespread crashing of nodes, leading to a complete breakdown or significant halt of the network, are also considered critical along with issues that can lead to a massive theft of assets. Immediate attention and mitigation are required.
Severity
- High
Description
- High severity vulnerabilities are those that do not immediately risk the complete security or integrity of the network but can cause substantial harm. These are issues that could cause the crashing of several nodes, leading to temporary disruption of the network, or could manipulate the consensus mechanism to a certain extent, but not enough to execute a 51% attack. Partial breaches of privacy, unauthorized but limited access to sensitive information, and affecting the reliable execution of smart contracts also fall under this category.
Severity
- Medium
Description
- Medium severity vulnerabilities could negatively affect the blockchain protocol but are usually not capable of causing catastrophic damage. These could include vulnerabilities that allow minor breaches of user privacy, can slow down transaction processing, or can lead to relatively small financial losses. It may be possible to exploit these vulnerabilities under specific circumstances, or they may require a high level of access to exploit effectively.
Severity
- Low
Description
- Low severity vulnerabilities are minor flaws in the blockchain protocol that might not have a direct impact on security but could cause minor inefficiencies in transaction processing or slight delays in block propagation. They might include vulnerabilities that allow attackers to cause nuisance-level disruptions or are only exploitable under extremely rare and specific conditions. These vulnerabilities should be corrected but do not represent an immediate threat to the system.
Appendix 2. Scope
The scope of the project includes the following components from the provided repository:
Scope Details | |
|---|---|
| Repository | https://github.com/pushchain/push-chain-node→ |
| Commit | ebaa89ddc70fdf9b7d486d89add0e298c44b8973→ |
| Repository | https://github.com/pushchain/push-chain-evm→ |
| Commit | 9570d87d7b5eaff643885eec380b9275c85a4638→ |
Scope Details
Assets in Scope
Appendix 3. Additional Valuables
Frameworks and Methodologies
This security assessment was conducted in alignment with recognised penetration testing standards, methodologies and guidelines, including the NIST SP 800-115 – Technical Guide to Information Security Testing and Assessment →, and the Penetration Testing Execution Standard (PTES) →, These assets provide a structured foundation for planning, executing, and documenting technical evaluations such as vulnerability assessments, exploitation activities, and security code reviews. Hacken’s internal penetration testing methodology extends these principles to Web2 and Web3 environments to ensure consistency, repeatability, and verifiable outcomes.