Vulnerability · Published Sep 28, 2021 · Assigned by GitHub_M

CVE-2021-41106File reference keys leads to incorrect hashes on HMAC algorithms

Medium 4.4

In plain English

A medium-severity insufficient verification of data authenticity in jwt from lcobucci. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 11% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)4.4Medium
Exploit odds (30 days)0.2%top 89.4% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

JWT is a library to work with JSON Web Token and JSON Web Signature. Prior to versions 3.4.6, 4.0.4, and 4.1.5, users of HMAC-based algorithms (HS256, HS384, and HS512) combined with `Lcobucci\JWT\Signer\Key\LocalFileReference` as key are having their tokens issued/validated using the file path as hashing key - instead of the contents. The HMAC hashing functions take any string as input and, since users can issue and validate tokens, users are lead to believe that everything works properly. Versions 3.4.6, 4.0.4, and 4.1.5 have been patched to always load the file contents, deprecated the `Lcobucci\JWT\Signer\Key\LocalFileReference`, and suggest `Lcobucci\JWT\Signer\Key\InMemory` as the alternative. As a workaround, use `Lcobucci\JWT\Signer\Key\InMemory` instead of `Lcobucci\JWT\Signer\Key\LocalFileReference` to create the instances of one's keys.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Packagistlcobucci/jwt3.4.6GHSA-7322-jrq4-x5hf
Packagistlcobucci/jwt4.0.4GHSA-7322-jrq4-x5hf
Packagistlcobucci/jwt4.1.5GHSA-7322-jrq4-x5hf

Affected products (as reported)

VendorProductVersions
lcobucci jwt >= 3.4.0, < 3.4.6>= 4.0.0, < 4.0.4>= 4.1.0, < 4.1.5

Weakness: CWE-345 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N

References