{"id":"CVE-2025-65945","aliases":["CLSA-2026-1784943208","EUVD-2025-201250","GHSA-869p-cjfg-cm3x","ROOT-APP-NPM-CVE-2025-65945"],"status":"published","title":"auth0/node-jws improper HMAC signature verification vulnerability","description":"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.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00231,"percentile":0.14045,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-347"],"published":"2025-12-04T16:54:15Z","modified":"2026-10-30T19:46:00Z","exploits":[{"source":"pocgithub","id":"jedisct1/CVE-2025-65945-poc","title":"jedisct1/CVE-2025-65945-poc","date":"2025-12-17","url":"https://github.com/jedisct1/CVE-2025-65945-poc"}],"fixes":[{"ecosystem":"npm","package":"jws","fixed_in":["3.2.3","4.0.1"],"sources":["ghsa","osv"]},{"ecosystem":"Root:npm","package":"@rootio/jws","fixed_in":["3.2.2-root.io.1","4.0.0-root.io.1","0.2.6-root.io.2","3.2.2-root.io.2","0.2.6-root.io.3","4.0.0-root.io.2"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"jws","fixed_in":["3.2.2-aikido.2","0.2.6-aikido.3","4.0.0-aikido.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"jws","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.3"}]}]},{"source":"ghsa","ecosystem":"npm","package":"jws","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"last_affected":"4.0.0"},{"fixed":"4.0.1"}]}],"versions":["4.0.0"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"jws","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.2.6-tuxcare.0"},{"fixed":"0.2.6-tuxcare.1"}]}],"versions":["0.2.6"],"bundled":2},{"source":"osv","ecosystem":"npm","package":"jws","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.2.3"}]}]},{"source":"osv","ecosystem":"npm","package":"jws","ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0"},{"fixed":"4.0.1"}]}],"versions":["4.0.0"]},{"source":"osv","ecosystem":"Root:npm","package":"@rootio/jws","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-root.io.1"},{"fixed":"4.0.0-root.io.1"},{"fixed":"0.2.6-root.io.2"},{"fixed":"3.2.2-root.io.2"},{"fixed":"0.2.6-root.io.3"},{"fixed":"4.0.0-root.io.2"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"jws","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-aikido.2"},{"fixed":"0.2.6-aikido.3"},{"fixed":"4.0.0-aikido.2"}]}]}],"products":[{"vendor":"auth0","product":"node-jws"}],"references":[{"url":"https://github.com/auth0/node-jws/security/advisories/GHSA-869p-cjfg-cm3x","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/auth0/node-jws/commit/34c45b2c04434f925b638de6a061de9339c0ea2e","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/auth0/node-jws/commit/4f6e73f24df42f07d632dec6431ade8eda8d11a6","tags":["web"]},{"url":"https://github.com/auth0/node-jws/releases/tag/v3.2.3","tags":["web"]},{"url":"https://github.com/auth0/node-jws/releases/tag/v4.0.1","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-65945","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-869p-cjfg-cm3x"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/65xxx/CVE-2025-65945.json","tags":["advisory"]},{"url":"https://github.com/auth0/node-jws","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2025-65945","title":"auth0/node-jws improper HMAC signature verification vulnerability","description":"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.","status":"published","published":"2025-12-04T18:45:37.517Z","modified":"2025-12-05T18:31:52.043Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T14:32:26.64278Z"}],"euvd":[{"id":"EUVD-2025-201250","description":"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.","status":"published","published":"2025-12-04T18:45:37Z","modified":"2025-12-05T18:31:52Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T19:49:09.437744Z"}],"ghsa":[{"id":"GHSA-869p-cjfg-cm3x","title":"auth0/node-jws Improperly Verifies HMAC Signature","description":"### Overview\nAn improper signature verification vulnerability exists when using auth0/node-jws with the HS256 algorithm under specific conditions.\n\n### Am I Affected?\nYou are affected by this vulnerability if you meet all of the following preconditions:\n\n1. Application uses the auth0/node-jws implementation of JSON Web Signatures, versions \u003c=3.2.2 || 4.0.0\n2. Application uses the jws.createVerify() function for HMAC algorithms\n3. Application uses user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines\n\nYou are NOT affected by this vulnerability if you meet any of the following preconditions:\n1. Application uses the jws.verify() interface (note: `auth0/node-jsonwebtoken` users fall into this category and are therefore NOT affected by this vulnerability)\n2. Application uses only asymmetric algorithms (e.g. RS256)\n3. Application doesn’t use user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines\n\n### Fix\nUpgrade auth0/node-jws version to version 3.2.3 or 4.0.1\n\n### Acknowledgement\nOkta would like to thank Félix Charette for discovering this vulnerability.","status":"published","published":"2025-12-04T16:54:15Z","modified":"2025-12-04T22:50:04Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T14:39:11.110487Z"}],"nvd":[{"id":"CVE-2025-65945","description":"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.","status":"published","published":"2025-12-04T19:16:05.55Z","modified":"2026-10-18T15:10:00.097Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T14:11:47.746175Z"}],"osv":[{"id":"CVE-2025-65945","title":"auth0/node-jws improper HMAC signature verification vulnerability","description":"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.","status":"published","published":"2025-12-04T18:45:37.517Z","modified":"2026-10-28T02:30:31.34747037Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T15:44:52.202386Z"},{"id":"GHSA-869p-cjfg-cm3x","title":"auth0/node-jws Improperly Verifies HMAC Signature","description":"### Overview\nAn improper signature verification vulnerability exists when using auth0/node-jws with the HS256 algorithm under specific conditions.\n\n### Am I Affected?\nYou are affected by this vulnerability if you meet all of the following preconditions:\n\n1. Application uses the auth0/node-jws implementation of JSON Web Signatures, versions \u003c=3.2.2 || 4.0.0\n2. Application uses the jws.createVerify() function for HMAC algorithms\n3. Application uses user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines\n\nYou are NOT affected by this vulnerability if you meet any of the following preconditions:\n1. Application uses the jws.verify() interface (note: `auth0/node-jsonwebtoken` users fall into this category and are therefore NOT affected by this vulnerability)\n2. Application uses only asymmetric algorithms (e.g. RS256)\n3. Application doesn’t use user-provided data from the JSON Web Signature Protected Header or Payload in the HMAC secret lookup routines\n\n### Fix\nUpgrade auth0/node-jws version to version 3.2.3 or 4.0.1\n\n### Acknowledgement\nOkta would like to thank Félix Charette for discovering this vulnerability.","status":"published","published":"2025-12-04T16:54:15Z","modified":"2026-09-10T03:50:31.797792758Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-347"],"updated_at":"2026-11-02T15:46:42.077781Z"},{"id":"ROOT-APP-NPM-CVE-2025-65945","title":"CVE-2025-65945 in @rootio/jws - Patched by Root","description":"Root has patched CVE-2025-65945 in the @rootio/jws package for Root:npm. Multiple fixed versions available.","status":"published","published":"2026-06-04T19:49:12Z","modified":"2026-06-05T01:30:43.382253391Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:53:27.362922Z"},{"id":"CLSA-2026-1784943208","title":"TuxCare security update for jws (2 CVEs)","description":"TuxCare rebuilt jws to address 2 CVEs. Fixed in 0.2.6-tuxcare.1.","status":"published","published":"2026-08-04T14:52:49Z","modified":"2026-10-30T19:46:00.411926674Z","updated_at":"2026-11-02T15:43:46.482572Z"}]}}
