CVE-2021-32738
Utils.readChallengeTx does not verify the server account signature
Impact
The `Utils.readChallengeTx` function used in [SEP-10 Stellar Web Authentication](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md) states in its function documentation that it reads and validates the challenge transaction including verifying that the `serverAccountID` has signed the transaction. The function does not verify that the server has signed the transaction and has been fixed so that it does in v8.2.3. Applications that also used `Utils.verifyChallengeTxThreshold` or `Utils.verifyChallengeTxSigners` to verify the signatures including the server signature on the challenge transaction are unaffected as those functions verify the server signed the transaction. Applications calling `Utils.readChallengeTx` should update to v8.2.3 to ensure that the challenge transaction is completely valid and signed by the server creating the challenge transaction.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | stellar-sdk | < 8.2.3 | 8.2.3 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Stellar | Js-Stellar-Sdk | before 8.2.3 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/stellar/js-stellar-sdk/releases/tag/v8.2.3
- https://github.com/stellar/js-stellar-sdk/security/advisories/GHSA-6cgh-hjpw-q3gq
- https://github.com/advisories/GHSA-6cgh-hjpw-q3gq
- https://github.com/stellar/js-stellar-sdk/commit/6f0bb889c2d10b431ddd5f4a1bcdd519c80430b3
- https://nvd.nist.gov/vuln/detail/CVE-2021-32738