CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



GHSA-QR2G-P6Q7-W82M

GHSA-qr2g-p6q7-w82m: Critical Payment Verification Bypass in Coinbase x402 SDK (Solana)

Alon Barad
Alon Barad
Software Engineer

Mar 7, 2026·4 min read·89 visits

Executive Summary (TL;DR)

The Coinbase x402 SDK contains a critical flaw in its Solana payment verification logic. Attackers can spoof payment signatures to bypass fees for APIs and services using the protocol. This affects versions prior to 2.6.0 (npm), 2.3.0 (Python), and 2.5.0 (Go). Immediate upgrade is required for all facilitators.

A critical vulnerability exists in the Coinbase x402 SDK affecting the verification of Solana (SVM) payments. The flaw is located in the facilitator component, which acts as an intermediary for validating automated HTTP 402 payments. Due to improper verification of Ed25519 cryptographic signatures in the Solana implementation, an attacker can bypass payment requirements. This allows unauthorized access to monetized APIs, compute resources, or digital goods without settling the required transaction on the blockchain. The vulnerability specifically affects the `@x402/svm` npm package, the `x402` PyPI package, and the Go SDK.

Vulnerability Overview

The x402 protocol is designed to implement the HTTP 402 "Payment Required" status code, facilitating automated, machine-to-machine payments for AI agents and API monetization. A critical component of this architecture is the facilitator, a service responsible for intercepting payment claims, verifying on-chain settlement, and issuing cryptographic proofs to the resource server.

This vulnerability (GHSA-qr2g-p6q7-w82m) resides specifically in the Solana Virtual Machine (SVM) implementation of the facilitator. Unlike the EVM implementations which use ECDSA, the Solana integration utilizes Ed25519 signatures. The flaw allows an attacker to submit a malformed or replayed PAYMENT-SIGNATURE that the facilitator incorrectly accepts as valid. Consequently, the facilitator issues a valid payment token to the resource server, granting the attacker access to the protected resource without an actual transfer of funds.

Root Cause Analysis

The root cause is an Improper Verification of Cryptographic Signature (CWE-347) within the SDK's payment validation logic. Specifically, the issue stems from how the facilitator validates the authenticity and uniqueness of Solana transaction signatures provided in the HTTP headers.

In the vulnerable versions, the validation routine for the PAYMENT-SIGNATURE header lacks sufficient checks to ensure the signature is both valid for the specific payload and unique (not a replay). Technical analysis suggests the "auto-sign" feature—intended to streamline developer experience—introduced a code path where the strict cryptographic binding between the payment intent and the on-chain signature was loosened. This allows a signature to be spoofed or an old signature to be reused, tricking the verification logic into returning a success state.

Logic Flow Analysis

While the exact source code diff is not public in the advisory context, the logical failure can be reconstructed based on the protocol design and the patch description. The vulnerability exists in the VerifySolanaPayment function (or equivalent) within the facilitator.

In a secure implementation, the flow must be:

  1. Extract PAYMENT-SIGNATURE from header.
  2. Fetch the corresponding transaction from the Solana blockchain (or verify the provided proof).
  3. Verify the transaction recipient is the merchant.
  4. Verify the amount matches the requested resource price.
  5. Verify the transaction is recent and not previously processed (Replay Protection).

Vulnerable Logic Flow:

// Pseudo-code representation of the flaw
async function verifyPayment(req, context) {
  const signature = req.headers['x-payment-signature'];
  
  // VULNERABILITY: The facilitator checks if a signature exists
  // but fails to strictly validate it against the specific
  // invoice ID or allows replaying a valid signature from a past transaction.
  if (isValidFormat(signature)) {
     // The system assumes the signature is fresh and valid for THIS request
     return grantAccess();
  }
  return denyAccess();
}

Patched Logic Flow: The fix introduces strict validation steps that cryptographically bind the signature to the specific invoice and check for replay attacks against a cache of seen signatures.

Exploitation Scenario

An attacker targets a service monetized via x402 (e.g., a Premium LLM API). The service charges 1 USDC per request. The attacker initiates a request, receiving a 402 Payment Required response containing a payment address and invoice ID.

To exploit the system, the attacker crafts a follow-up request containing a spoofed PAYMENT-SIGNATURE header. Because the vulnerable facilitator fails to verify the signature against the Solana blockchain state correctly (or accepts a replayed signature from a 0.0001 USDC test transaction), the facilitator validates the request. The SDK then generates a x402-token which the resource server accepts, returning the premium API response. The attacker effectively consumes the service for free, causing financial loss to the provider.

Impact Assessment

Severity: Critical (CVSS 9.9)

The impact is primarily financial and integrity-based. Service providers relying on x402 for revenue assurance are at risk of complete monetization bypass. Attackers can drain compute resources, access proprietary data, or utilize paid APIs without cost.

However, it is crucial to note that this vulnerability does not expose private keys or allow the theft of existing user funds held in wallets. The flaw is in the verification of payments, not the custody of funds. The risk is borne entirely by the service provider (merchant) running the vulnerable facilitator.

Technical Appendix

CVSS Score
9.9/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Affected Systems

Node.js applications using @x402/svmPython applications using x402Go applications using github.com/coinbase/x402/go

Affected Versions Detail

Product
Affected Versions
Fixed Version
@x402/svm
Coinbase
< 2.6.02.6.0
x402 (PyPI)
Coinbase
< 2.3.02.3.0
github.com/coinbase/x402/go
Coinbase
< 2.5.02.5.0
AttributeDetail
CWE IDCWE-347
CVSS Score9.9 (Critical)
Attack VectorNetwork
Exploit StatusPoC Available
Affected ProtocolSolana (SVM)
Patch Date2026-03-07

MITRE ATT&CK Mapping

T1566Phishing
Initial Access
T1003Credential Dumping
Credential Access
CWE-347
Improper Verification of Cryptographic Signature

Vulnerability Timeline

Initial security policy published
2025-08-20
Community discussions on payment replay issues
2026-02-20
Vulnerability Disclosed & Patch Released
2026-03-07

References & Sources

  • [1]GitHub Advisory Database Entry
  • [2]OSV Vulnerability Record
  • [3]Coinbase x402 Repository
  • [4]Official Security Advisory Page

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 22 hours ago•GHSA-XF4V-W5X5-PV79
5.1

GHSA-XF4V-W5X5-PV79: CSV Formula Injection in Spree Customer Export

A CSV Formula Injection vulnerability (CWE-1236) exists in the Spree headless eCommerce platform within the customer export functionality. An unauthenticated attacker can register a customer profile containing malicious formula sequences in fields like the first name or last name. When an administrator exports the customer data to a CSV file and opens it in a spreadsheet application, the spreadsheet engine can interpret and execute these formulas, potentially leading to remote command execution on the administrator's workstation or out-of-band data exfiltration.

Alon Barad
Alon Barad
4 views•6 min read
•about 22 hours ago•CVE-2026-47694
5.4

CVE-2026-47694: Stored Cross-Site Scripting in WWBN AVideo Category Descriptions

A Stored Cross-Site Scripting (XSS) vulnerability exists in WWBN AVideo versions up to and including 29.0. Unsanitized category descriptions are stored in the database and subsequently rendered as raw HTML in the Gallery view plugin, allowing low-privileged authenticated users to execute arbitrary JavaScript in the browsers of visiting users.

Alon Barad
Alon Barad
6 views•7 min read
•about 23 hours ago•GHSA-JPVJ-WPMJ-H7RV
9.6

GHSA-JPVJ-WPMJ-H7RV: Supply Chain Compromise and Malicious Code Injection in @cap-js/openapi

A critical supply chain compromise was identified in the Node.js package @cap-js/openapi at version 1.4.1. An attacker gained unauthorized publishing access to the npm registry and distributed a backdoored release that harvests sensitive developer credentials, environment variables, and SSH keys. The malicious code then exfiltrates the collected data to external actor-controlled servers.

Amit Schendel
Amit Schendel
12 views•5 min read
•about 23 hours ago•CVE-2026-47696
7.1

CVE-2026-47696: Authenticated Wallet Credit Bypass in WWBN AVideo AuthorizeNet Plugin

An authenticated wallet credit bypass vulnerability exists in WWBN AVideo version 29.0 and earlier. The AuthorizeNet plugin includes an unfinished mockup endpoint, processPayment.json.php, which lacks actual transaction verification and hardcodes success. This allows any authenticated user to credit their wallet with arbitrary balances without making any payments.

Amit Schendel
Amit Schendel
4 views•5 min read
•about 24 hours ago•GHSA-8WHC-2WMV-WW35
8.8

GHSA-8whc-2wmv-ww35: Unauthenticated Stored DOM-based Cross-Site Scripting in WWBN AVideo YPTSocket Plugin

An unauthenticated stored DOM-based Cross-Site Scripting (DOM XSS) vulnerability in the YPTSocket plugin of WWBN AVideo (formerly YouPHPTube) allows remote attackers to execute arbitrary JavaScript within the session context of administrative users. Unsanitized metadata parameters supplied during the WebSocket handshake are persisted in an SQLite database and broadcast to connected users. The frontend application processes these parameters through an unsafe jQuery append sink, leading to silent, high-impact administrative context compromise.

Amit Schendel
Amit Schendel
6 views•7 min read
•1 day ago•CVE-2026-47676
5.3

CVE-2026-47676: Inconsistent Path Parsing and Slicing in Hono Framework Sub-Application Mounting

A path parsing and normalization inconsistency vulnerability exists in the Hono web framework prior to version 4.12.21. When hosting sub-applications via the app.mount() routing interface, Hono calculates the routing path prefix length on a percent-decoded representation of the URI but executes the path-slicing offset on the raw, percent-encoded string. This discrepancy results in malformed request paths being dispatched to mounted sub-applications, potentially leading to route bypasses, route confusion, and application-level Denial of Service.

Alon Barad
Alon Barad
4 views•6 min read