-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Problem
CVE-2025-45769 was marked as Disputed by MITRE/NVD on August 17, 2025:
"this issue has been disputed on the basis that key lengths are expected to be
set by an application, not by this library"
NVD has assigned no CVSS score (N/A). However, the GitHub Advisory Database
still lists this as High severity (using the CISA-ADP score of 7.3) and has
not reflected the disputed status.
As a result, Composer'sblock-insecurefeature treats this as a confirmed
high-severity vulnerability and refuses to install any php-jwt v6 release.
Impact
Packages pinned to php-jwt ^6 cannot be installed or updated:
laravel/passport ^11requiresfirebase/php-jwt ^6.4- Passport 12+ requires Laravel 11, so projects on Laravel 10 have no upgrade path
- Every affected project must manually add
audit.ignoreincomposer.json
The CVE itself
The "vulnerability" is that php-jwt accepts short HMAC keys without validation.
This is not a library bug — key management is the caller's responsibility.
PHP's own hash_hmac() and openssl_sign() behave identically and have no CVEs
for this.
NVD agrees — hence the Disputed tag and no score from NIST.
Request
- Update the GitHub Advisory to reflect the NVD disputed status, or withdraw it
- If that's not possible, backport the key length check to a v6.x patch (e.g. 6.11.2)
so^6consumers are unblocked without a major version jump
Reproduction
On any project with laravel/passport ^11
composer update
firebase/php-jwt[v6.4.0, ..., v6.11.1] were not loaded, because they are
affected by security advisories ("PKSA-y2cr-5h3j-g3ys")