{"id":"GHSA-7322-jrq4-x5hf","aliases":["CVE-2021-41106"],"title":"File reference keys leads to incorrect hashes on HMAC algorithms","description":"### Impact\n\nUsers 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.\n\nThe HMAC hashing functions take any string as input and, since users can issue and validate tokens, people are lead to believe that everything works properly.\n\n### Patches\n\nAll versions 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.\n\n### Workarounds\n\nUse `Lcobucci\\JWT\\Signer\\Key\\InMemory` instead of `Lcobucci\\JWT\\Signer\\Key\\LocalFileReference` to create the instances of your keys:\n\n```diff\n-use Lcobucci\\JWT\\Signer\\Key\\LocalFileReference;\n+use Lcobucci\\JWT\\Signer\\Key\\InMemory;\n\n-$key = LocalFileReference::file(__DIR__ . '/public-key.pem');\n+$key = InMemory::file(__DIR__ . '/public-key.pem');\n```","severity":"medium","score":4.4,"published":"2021-09-29T17:09:40.000Z","modified":"2026-07-08T06:27:26.757Z","withdrawn":false,"knownExploited":false,"affected":[{"ecosystem":"Packagist","name":"lcobucci/jwt","ranges":[{"events":[{"introduced":"3.4.0"},{"fixed":"3.4.6"}],"type":"ECOSYSTEM"}],"versions":["3.4.0","3.4.1","3.4.2","3.4.3","3.4.4","3.4.5"],"fixed":["3.4.6"]},{"ecosystem":"Packagist","name":"lcobucci/jwt","ranges":[{"events":[{"introduced":"4.0.0"},{"fixed":"4.0.4"}],"type":"ECOSYSTEM"}],"versions":["4.0.0","4.0.1","4.0.2","4.0.3"],"fixed":["4.0.4"]},{"ecosystem":"Packagist","name":"lcobucci/jwt","ranges":[{"events":[{"introduced":"4.1.0"},{"fixed":"4.1.5"}],"type":"ECOSYSTEM"}],"versions":["4.1.0","4.1.1","4.1.2","4.1.3","4.1.4"],"fixed":["4.1.5"]}],"references":["https://github.com/lcobucci/jwt/security/advisories/GHSA-7322-jrq4-x5hf","https://nvd.nist.gov/vuln/detail/CVE-2021-41106","https://github.com/lcobucci/jwt/commit/8175de5b841fbe3fd97d2d49b3fc15c4ecb39a73","https://github.com/lcobucci/jwt/commit/c45bb8b961a8e742d8f6b88ef5ff1bd5cca5d01c","https://github.com/FriendsOfPHP/security-advisories/blob/master/lcobucci/jwt/CVE-2021-41106.yaml","https://github.com/lcobucci/jwt"],"sources":[{"name":"OSV","id":"GHSA-7322-jrq4-x5hf","modified":"2026-07-08T06:27:26.757295012Z","url":"https://osv.dev/vulnerability/GHSA-7322-jrq4-x5hf"}],"assessments":[{"source":"OSV","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","score":4.4}]}