{"id":"CVE-2017-18924","details":"oauth2-server (aka node-oauth2-server) through 3.1.1 implements OAuth 2.0 without PKCE. It does not prevent authorization code injection. This is similar to CVE-2020-7692. NOTE: the vendor states 'As RFC7636 is an extension, I think the claim in the Readme of \"RFC 6749 compliant\" is valid and not misleading and I also therefore wouldn't describe this as a \"vulnerability\" with the library per se.","aliases":["GHSA-2fw4-mgq9-39cx"],"modified":"2026-07-08T15:11:03.672833Z","published":"2020-10-04T05:15:12.140Z","references":[{"type":"ADVISORY","url":"https://codeburst.io/missing-the-point-in-securing-oauth-2-0-83968708b467"},{"type":"ADVISORY","url":"https://tools.ietf.org/html/rfc7636"},{"type":"FIX","url":"https://github.com/oauthjs/node-oauth2-server/pull/452"},{"type":"EVIDENCE","url":"https://github.com/oauthjs/node-oauth2-server/issues/637"},{"type":"EVIDENCE","url":"https://tools.ietf.org/html/draft-ietf-oauth-security-topics-15"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/oauthjs/node-oauth2-server","events":[{"introduced":"0"},{"last_affected":"0bbdcfeaaf0d73e06acc028cd0d009eafab70817"}],"database_specific":{"cpe":"cpe:2.3:a:oauth2-server_project:oauth2-server:*:*:*:*:*:node.js:*:*","extracted_events":[{"introduced":"0"},{"last_affected":"3.1.1"}],"source":"CPE_RANGE"}}],"versions":["v3.1.1","v3.1.0","v3.0.2","v3.0.0","v3.0.0-b4","v3.0.0-b3.1","v3.0.0-b3","v2.4.1","v2.4.0","v2.3.0","v2.2.2","v2.2.1","v2.2.0","v1.5.2","v1.5.1","v1.5.0","v1.4.1","v1.4.0","v1.3.2","v1.3.1","v1.3.0","v1.2.5","v1.2.4","v1.2.3","v1.2.2","v1.2.1","v1.2.0","v1.1.1","v1.1.0","v1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2017-18924.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}