CVE-2022-35917 Weakness in Transfer Validation Logic in @solana/pay
Attackers can bypass transfer validation logic in the Solana Pay SDK, potentially allowing unauthorized or incorrect transaction processing.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2022-35917?
CVE-2022-35917 is a medium-severity vulnerability in solana-labs solana-pay, published on 1 Aug 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Solana Pay is a protocol and set of reference implementations that enable developers to incorporate decentralized payments into their apps and services. When a Solana Pay transaction is located using a reference key, it may be checked to represent a transfer of the desired amount to the recipient, using the supplied `validateTransfer` function. An edge case regarding this mechanism could cause the validation logic to validate multiple transfers. This issue has been patched as of version `0.2.1`. Users of the Solana Pay SDK should upgrade to it. There are no known workarounds for this issue.
Weakness: CWE-670
Which versions are affected by CVE-2022-35917?
2 open source packages ship an affected version, including @solana/pay. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
@solana/pay npm | All versions | 0.2.1 |
@solana/pay npm | All versions | 0.2.1 |
Products include Solanalabs Pay.
How do I fix CVE-2022-35917?
Upgrade @solana/pay to 0.2.1 or later.
Is CVE-2022-35917 being exploited?
There is no known exploitation of CVE-2022-35917 in the wild and no public exploit code.
Sources
Also known as GHSA-j47c-j42c-mwqq.