Headline
GHSA-376v-xgjx-7mfr: Timing Attack Vector in fastify-bearer-auth
Impact
fastify-bearer-auth does not securely use crypto.timingSafeEqual. A malicious attacker could estimate the length of one valid bearer token. According to the corresponding RFC 6750, the bearer token has only base64 valid characters, reducing the range of characters for a brute force attack.
All versions of fastify-bearer-auth are also affected.
Patches
We released:
- v8.0.1 with a fix for the Fastify v4 line
- v7.0.2 with a fix for the Fastify v3 line
Workarounds
There are no workarounds. Update your dependencies.
References
https://hackerone.com/reports/1633287
For more information
If you have any questions or comments about this advisory:
- Open an issue in https://github.com/fastify/fastify-bearer-auth
- Email us at [email protected]
Package
npm @fastify/bearer-auth (npm)
Affected versions
< 7.0.2
= 8.0.0
Patched versions
7.0.2
8.0.1
npm fastify-bearer-auth (npm)
>= 5.0.1, <= 6.0.3
None
Description
Impact
fastify-bearer-auth does not securely use crypto.timingSafeEqual. A malicious attacker could estimate the length of one valid bearer token. According to the corresponding RFC 6750, the bearer token has only base64 valid characters, reducing the range of characters for a brute force attack.
All versions of fastify-bearer-auth are also affected.
Patches
We released:
- v8.0.1 with a fix for the Fastify v4 line
- v7.0.2 with a fix for the Fastify v3 line
Workarounds
There are no workarounds. Update your dependencies.
References
https://hackerone.com/reports/1633287
For more information
If you have any questions or comments about this advisory:
- Open an issue in https://github.com/fastify/fastify-bearer-auth
- Email us at [email protected]
References
- GHSA-376v-xgjx-7mfr
- https://nvd.nist.gov/vuln/detail/CVE-2022-31142
- fastify/fastify-bearer-auth@0c468a6
- fastify/fastify-bearer-auth@39353b1
- fastify/fastify-bearer-auth@f921a05
- https://hackerone.com/reports/1633287
mcollina published the maintainer security advisory
Jul 14, 2022
Related news
@fastify/bearer-auth is a Fastify plugin to require bearer Authorization headers. @fastify/bearer-auth prior to versions 7.0.2 and 8.0.1 does not securely use crypto.timingSafeEqual. A malicious attacker could estimate the length of one valid bearer token. According to the corresponding RFC 6750, the bearer token has only base64 valid characters, reducing the range of characters for a brute force attack. Version 7.0.2 and 8.0.1 of @fastify/bearer-auth contain a patch. There are currently no known workarounds. The package fastify-bearer-auth, which covers versions 6.0.3 and prior, is also vulnerable starting at version 5.0.1. Users of fastify-bearer-auth should upgrade to a patched version of @fastify/bearer-auth.