Zcash × Brave WalletPersonal project

Type to search. Use ↑ ↓ and Enter to open a result.

ZCashTransaction::TotalInputsAmount overflow with large input values

PR in progress Issue General Zcash support

Lead item brave-browser#53223 · opened by dev-doshi · last source update

This issue is open on GitHub. Fixes sometimes land through pull requests that do not link the issue (for example a later refactor); this tracker follows only explicit links (closing references, “Resolves” lines, brave_<issue> branch names, uplifts and the issue timeline).

Issue state

Open

Open.

Implementation

  • brave-core#34260 open into master by dev-doshi
    fix: use CheckedNumeric for ZCashTransaction::TotalInputsAmount to prevent overflow
    Linked by: GitHub closing reference, “Resolves/Fixes” line in the PR description

Release notes

No platform changelog lists this item.

Validation

No QA label.

No QA pass labels.

QA labels are Brave’s own validation records per OS. They are not independent verification by this tracker.

Target

No milestone set.

Platforms (OS labels): none

Owner: unassigned · PR authors: dev-doshi

Build presence

Whether a merged pull request in this group is an ancestor of the brave-core tag of each platform’s current build (from versions.brave.com). Code presence is not the same as a feature being exposed on that platform.

PlatformReleaseBetaNightly
DesktopUnknown 1.97.59no merged PR is linked, so presence in this build is unknownUnknown 1.98.47no merged PR is linked, so presence in this build is unknownUnknown 1.100.5no merged PR is linked, so presence in this build is unknown
AndroidUnknown 1.97.57no merged PR is linked, so presence in this build is unknownUnknown 1.98.52no merged PR is linked, so presence in this build is unknownUnknown 1.100.5no merged PR is linked, so presence in this build is unknown
iOSUnknown 1.96.62no merged PR is linked, so presence in this build is unknownUnknown 1.99.44no merged PR is linked, so presence in this build is unknownUnknown 1.100.7no merged PR is linked, so presence in this build is unknown

Members and their history

Issue

brave-browser#53223 ZCashTransaction::TotalInputsAmount overflow with large input values

State: open · created · updated · discovered via tracked:previous · matched title:zcashtransaction, body:zcashtransaction

ZCashTransaction::TotalInputsAmount sums input amounts using plain addition without overflow checking. If inputs sum to more than INT64_MAX, the result silently wraps around, potentially causing incorrect fee calculations or allowing transactions with negative effective fees. Severity: High — integer overflow in financial calculation code. PR: https://github.com/brave/brave-core/pull/34260

Timeline (1 of 1 events)
  1. 2026-02-27 17:45 Referenced by brave-core#34260 (will close) by dev-doshi
Pull request

brave-core#34260 fix: use CheckedNumeric for ZCashTransaction::TotalInputsAmount to prevent overflow

State: open · created · updated · discovered via search:orchard is:pr, search:zcash is:pr · matched title:zcashtransaction, body:zcashtransaction

Summary Change ZCashTransaction::TotalInputsAmount() return type from uint64_t to base::CheckedNumeric to detect integer overflow when summing UTXO input amounts. Bug Description TotalInputsAmount() used raw uint64_t arithmetic to sum transparent and orchard input amounts. If a transaction had many inputs with large amounts, the sum could silently wrap around, producing a much smaller value than the actual total. This is inconsistent with ValidateAmounts() in the same file,…

Timeline (3 of 3 events)
  1. 2026-02-27 17:43 Referenced by brave-browser#53223 by dev-doshi
  2. 2026-02-27 20:03 Referenced by brave-core#34308 by dev-doshi
  3. 2026-03-16 03:55 Referenced by brave-core#34745 by brave-builds

Recorded changes

  1. New issue

    New issue: ZCashTransaction::TotalInputsAmount overflow with large input values

    Opened in brave-browser#53223. This is a report or request, not a confirmed change to Brave Wallet.

    brave-browser#53223
    Evidence
    • created 2026-02-27T17:43:37Z

    Source time: · Detected: · Backfilled from source history

    2026-02-27T17:43:37Z