Headline
GHSA-j47c-j42c-mwqq: Solana Pay Vulnerable to Weakness in Transfer Validation Logic
Description
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.
Impact
Most known Solana Pay point of sale applications are currently run on physical point of sale devices, which makes this issue unlikely to occur. However, there may be web-based point of sale applications using the protocol where it may be more likely to occur.
Patches
This issue has been patched as of version 0.2.1
. Users of the Solana Pay SDK should upgrade to it.
Solana Pay Vulnerable to Weakness in Transfer Validation Logic
Moderate severity GitHub Reviewed Published Aug 6, 2022 in solana-labs/solana-pay • Updated Aug 6, 2022
Package
npm @solana/pay (npm)
Affected versions
<= 0.2.0
Patched versions
0.2.1
Description
Description
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.
Impact
Most known Solana Pay point of sale applications are currently run on physical point of sale devices, which makes this issue unlikely to occur. However, there may be web-based point of sale applications using the protocol where it may be more likely to occur.
Patches
This issue has been patched as of version 0.2.1. Users of the Solana Pay SDK should upgrade to it.
References
- GHSA-j47c-j42c-mwqq
- https://nvd.nist.gov/vuln/detail/CVE-2022-35917
- solana-labs/solana-pay@ac6ce0d
- https://github.com/solana-labs/solana-pay/blob/master/SPEC.md#reference
- https://github.com/solana-labs/solana-pay/blob/master/core/src/validateTransfer.ts
jordansexton published the maintainer security advisory
Jul 28, 2022
Severity
Moderate
5.3
/ 10
CVSS base metrics
Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weaknesses
CWE-670
CVE ID
CVE-2022-35917
GHSA ID
GHSA-j47c-j42c-mwqq
Source code
solana-labs/solana-pay
Credits
- cmowenby
Checking history
See something to contribute? Suggest improvements for this vulnerability.
Related news
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.