Skip to content

code-423n4/2025-08-solana-foundation

Repository files navigation

Solana Foundation audit details

  • Total Prize Pool: $203,500 in USDC
    • HM awards: up to $192,000 in USDC
      • If no valid Highs or Mediums are found, the HM pool is $0
    • QA awards: $8,000 in USDC
    • Judge awards: $3,000 in USDC
    • Scout awards: $500 in USDC
  • Read our guidelines for more details
  • Starts August 19th, 2025 20:00 UTC
  • Ends September 15, 2025 20:00 UTC

❗ Important notes for wardens

  1. Judging phase risk adjustments (upgrades/downgrades):
  • High- or Medium-risk submissions downgraded by the judge to Low-risk (QA) will be ineligible for awards.
  • Upgrading a Low-risk finding from a QA report to a Medium- or High-risk finding is not supported.
  • As such, wardens are encouraged to select the appropriate risk level carefully during the submission phase.

Publicly Known Issues

Note for C4 wardens: Anything included in this Publicly Known Issues section is considered a publicly known issue and is ineligible for awards.

The only known issue is that we use a non-standard key-derivation method as described in solana-program/zk-elgamal-proof#35.

Overview of Token22 Confidential Transfer Audit

The main objective of the audit is to find potential vulnerabilities in the confidential transfer component of the Solana Token22 program. The Token22 program (also known as Token Extensions) is an extension of the standard SPL Token program, which introduces new features including confidential transfers.

There are two primary components that enable confidential transfers. The first is the on-chain Token22 program, which manages the state and logic for token interactions. The second is the native ZK ElGamal Proof program, a specialized program integrated directly into the Solana validator runtime. The Token22 program embeds zero-knowledge proofs within its instructions, and the native ZK program is responsible for the task of verifying these proofs.

Links


Scope

The scope of the audit covers the following components:

The zk-sdk

The ZK ElGamal Proof Program

The Token-2022 Confidential Transfer ZK Logic

The Token22 program

Additional context

Areas of concern (where to focus for bugs)

  • Does the rust proof generation/verification implementation faithfully follow the protocol specification of https://edge.docs.anza.xyz/runtime/zk-elgamal-proof and https://eprint.iacr.org/2017/1066?
  • Managing the merlin transcript in the proof implementation has been tricky. Are all necessary components like the zk public statements and all proof components hashed into the transcript
  • We use a concept called the proof context to divide up long proofs into multiple chunks. Are there any security issues during the creation or deletion of these context states?
  • Multiple proofs are used to instructions like the transfer and transfer with fee. The consistency between these proofs have be meticulously checked. Are our consistency checks sound?
  • Likewise, proof components have to be checked for consistency with the actual token22 instruction data. Are our consistency checks sound?
  • The confidential transfer extension was originally developed independently of other token22 extensions. Are there any security issues involved in how the confidential transfer extensions interact with other extensions?

Main invariants

N/A

All trusted roles in the protocol

N/A

Running tests

git clone --recurse https://github.com/code-423n4/2025-08-solana-foundation.git
cd 2025-08-solana-foundation

# ZK-SDK:
cd zk-elgamal-proof
pnpm install
pnpm zk-sdk:test
cd ..

# Token22
cd token-2022
pnpm install
pnpm programs:test
pnpm clients:rust:test
pnpm confidential-transfer:proof-tests:test

# The ZK ElGamal Proof Program
git clone https://github.com/anza-xyz/agave
cd agave/programs/zk-elgamal-proof-tests
cargo test

Miscellaneous

Employees of Solana Foundation and employees' family members are ineligible to participate in this audit.

Code4rena's rules cannot be overridden by the contents of this README. In case of doubt, please check with C4 staff.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •