CVE-2025-65945
auth0/node-jws improper HMAC signature verification vulnerability
auth0/node-jws is a JSON Web Signature implementation for Node.js. In versions 3.2.2 and earlier and version 4.0.0, auth0/node-jws has an improper signature verification vulnerability when using the HS256 algorithm under specific conditions. Applications are affected when they use the jws.createVerify() function for HMAC algorithms and use user-provided data from the JSON Web Signature protected header or payload in HMAC secret lookup routines, which can allow attackers to bypass signature verification. This issue has been patched in versions 3.2.3 and 4.0.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.5
auth0/node-jws improper HMAC signature verification vulnerability
auth0/node-jws is a JSON Web Signature implementation for Node.js. In versions 3.2.2 and earlier and version 4.0.0, auth0/node-jws has an improper signature verification vulnerability when using the HS256 algorithm under specific conditions. Applications are affected when they use the jws.createVerify() function for HMAC algorithms and use user-provided data from the JSON Web Signature protected header or payload in HMAC secret lookup routines, which can allow attackers to bypass signature verification. This issue has been patched in versions 3.2.3 and 4.0.1.
- Record
CVE-2025-65945- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
EUVDEUVD-2025-201250
7.5
auth0/node-jws is a JSON Web Signature implementation for Node.js. In versions 3.2.2 and earlier and version 4.0.0, auth0/node-jws has an improper signature verification vulnerability when using the HS256 algorithm under specific conditions. Applications are affected when they use the jws.createVerify() function for HMAC algorithms and use user-provided data from the JSON Web Signature protected header or payload in HMAC secret lookup routines, which can allow attackers to bypass signature verification. This issue has been patched in versions 3.2.3 and 4.0.1.
- Record
EUVD-2025-201250- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-869p-cjfg-cm3x
7.5
auth0/node-jws Improperly Verifies HMAC Signature
Overview
An improper signature verification vulnerability exists when using auth0/node-jws with the HS256 algorithm under specific conditions.
Am I Affected?
You are affected by this vulnerability if you meet all of the following preconditions:
- Application uses the auth0/node-jws implementation of JSON Web Signatures, versions <=3.2.2 || 4.0.0
- Application uses the jws.createVerify() function for HMAC algorithms
- Application uses user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines
You are NOT affected by this vulnerability if you meet any of the following preconditions:
- Application uses the jws.verify() interface (note:
auth0/node-jsonwebtokenusers fall into this category and are therefore NOT affected by this vulnerability) - Application uses only asymmetric algorithms (e.g. RS256)
- Application doesn’t use user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines
Fix
Upgrade auth0/node-jws version to version 3.2.3 or 4.0.1
Acknowledgement
Okta would like to thank Félix Charette for discovering this vulnerability.
- Record
GHSA-869p-cjfg-cm3x- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
NVD
7.5
auth0/node-jws is a JSON Web Signature implementation for Node.js. In versions 3.2.2 and earlier and version 4.0.0, auth0/node-jws has an improper signature verification vulnerability when using the HS256 algorithm under specific conditions. Applications are affected when they use the jws.createVerify() function for HMAC algorithms and use user-provided data from the JSON Web Signature protected header or payload in HMAC secret lookup routines, which can allow attackers to bypass signature verification. This issue has been patched in versions 3.2.3 and 4.0.1.
- Record
CVE-2025-65945- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSV
7.5
auth0/node-jws improper HMAC signature verification vulnerability
auth0/node-jws is a JSON Web Signature implementation for Node.js. In versions 3.2.2 and earlier and version 4.0.0, auth0/node-jws has an improper signature verification vulnerability when using the HS256 algorithm under specific conditions. Applications are affected when they use the jws.createVerify() function for HMAC algorithms and use user-provided data from the JSON Web Signature protected header or payload in HMAC secret lookup routines, which can allow attackers to bypass signature verification. This issue has been patched in versions 3.2.3 and 4.0.1.
- Record
CVE-2025-65945- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVGHSA-869p-cjfg-cm3x
7.5
auth0/node-jws Improperly Verifies HMAC Signature
Overview
An improper signature verification vulnerability exists when using auth0/node-jws with the HS256 algorithm under specific conditions.
Am I Affected?
You are affected by this vulnerability if you meet all of the following preconditions:
- Application uses the auth0/node-jws implementation of JSON Web Signatures, versions <=3.2.2 || 4.0.0
- Application uses the jws.createVerify() function for HMAC algorithms
- Application uses user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines
You are NOT affected by this vulnerability if you meet any of the following preconditions:
- Application uses the jws.verify() interface (note:
auth0/node-jsonwebtokenusers fall into this category and are therefore NOT affected by this vulnerability) - Application uses only asymmetric algorithms (e.g. RS256)
- Application doesn’t use user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines
Fix
Upgrade auth0/node-jws version to version 3.2.3 or 4.0.1
Acknowledgement
Okta would like to thank Félix Charette for discovering this vulnerability.
- Record
GHSA-869p-cjfg-cm3x- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2025-65945
7.5
CVE-2025-65945 in @rootio/jws - Patched by Root
Root has patched CVE-2025-65945 in the @rootio/jws package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2025-65945- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1784943208 No score
TuxCare security update for jws (2 CVEs)
TuxCare rebuilt jws to address 2 CVEs. Fixed in 0.2.6-tuxcare.1.
- Record
CLSA-2026-1784943208- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
jwsnpm |
before 3.2.3 | 3.2.3 |
jwsnpm |
4.0.0 to 4.0.0 | 4.0.1 |
jwsTuxCare:npm From an advisory covering 2 CVEs |
0.2.6-tuxcare.0 up to 0.2.6-tuxcare.1, plus listed versions 0.2.6 |
0.2.6-tuxcare.1 |
jwsnpm |
4.0.0 up to 4.0.1 | 4.0.1 |
@rootio/jwsRoot:npm |
before 3.2.2-root.io.1 | 3.2.2-root.io.14.0.0-root.io.10.2.6-root.io.23.2.2-root.io.20.2.6-root.io.34.0.0-root.io.2 |
jwsRoot:npm |
before 3.2.2-aikido.2 | 3.2.2-aikido.20.2.6-aikido.34.0.0-aikido.2 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | jedisct1/CVE-2025-65945-poc | 2025-12-17 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-65945 is a high vulnerability (CVSS 7.5) in Auth0 Node-jws, published December 4, 2025. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.23%, the 14th percentile. Fixed in jws 3.2.3.
References
github.com/auth0/node-jws/security/advisories/GHSA-869p-cjfg-cm3x
github.com/auth0/node-jws/commit/34c45b2c04434f925b638de6a061de9339c0ea2e
github.com/auth0/node-jws/commit/4f6e73f24df42f07d632dec6431ade8eda8d11a6
github.com/auth0/node-jws/releases/tag/v3.2.3
github.com/auth0/node-jws/releases/tag/v4.0.1
nvd.nist.gov/vuln/detail/CVE-2025-65945
github.com/advisories/GHSA-869p-cjfg-cm3x
github.com/CVEProject/cvelistV5/tree/main/cves/2025/65xxx/CVE-2025-65945.json
github.com/auth0/node-jws