league/oauth2-server key exposed in exception message when passing as a string and providing an invalid pass phrase
Impact
Servers that passed their keys to the CryptKey constructor as as string instead of a file path will have had that key included in a LogicException message if they did not provide a valid pass phrase for the key where required.
Source excerpt · OSVAffected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
| Affected range | Recorded fix |
|---|---|
| From 8.3.2 before 8.4.2Ecosystem versions | 8.4.2 |
| From 8.5.0 before 8.5.3Ecosystem versions | 8.5.3 |
Version evidence: OSV · GHSA-wj7q-gjg8-3cpm
View original version evidence (10 explicit versions)
Original source description
Impact
Servers that passed their keys to the CryptKey constructor as as string instead of a file path will have had that key included in a LogicException message if they did not provide a valid pass phrase for the key where required.
Patches
This issue has been patched so that the provided key is no longer exposed in the exception message in the scenario outlined above. Users should upgrade to version 8.5.3 or 8.4.2 to receive the patch.
Workarounds
We recommend upgrading the oauth2-server to one of the patched releases (8.5.3 or 8.4.2). If you are unable to upgrade you can avoid this security issue by passing your key as a file instead of a string.
References
References
- Security advisory github.com/thephpleague/oauth2-server/security/advisories/GHSA-wj7q-gjg8-3cpm
- Security advisory nvd.nist.gov/vuln/detail/CVE-2023-37260
- Patch github.com/thephpleague/oauth2-server/pull/1353
- Patch github.com/thephpleague/oauth2-server/pull/1359
- Source reference github.com/thephpleague/oauth2-server
- Release notes github.com/thephpleague/oauth2-server/releases/tag/8.5.3