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.
Remediation
References
https://github.com/solana-labs/solana-pay/blob/master/core/src/validateTransfer.ts
https://github.com/solana-labs/solana-pay/blob/master/SPEC.md#reference
https://github.com/solana-labs/solana-pay/commit/ac6ce0d0a81137700874a8bf5a7caac3be999fad
https://github.com/solana-labs/solana-pay/security/advisories/GHSA-j47c-j42c-mwqq
Related Vulnerabilities
CVE-2017-18353 Vulnerability in npm package rendertron-middleware
CVE-2016-10629 Vulnerability in npm package nw-with-arm
CVE-2020-26302 Vulnerability in maven package org.webjars.bowergithub.arasatasaygin:is.js
CVE-2021-38296 Vulnerability in maven package org.apache.spark:spark-core
CVE-2022-41881 Vulnerability in maven package io.netty:netty-codec-haproxy