{"id":"CVE-2025-31691","aliases":["DRUPAL-CONTRIB-2025-020","EUVD-2025-9026","GHSA-4f8q-mwgc-3mwc"],"status":"published","title":"OAuth2 Server - Moderately critical - Access bypass - SA-CONTRIB-2025-020","description":"Missing Authorization vulnerability in Drupal OAuth2 Server allows Forceful Browsing.This issue affects OAuth2 Server: from 0.0.0 before 2.1.0.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-12","score":0.00434,"percentile":0.38159,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-862"],"published":"2025-02-26T18:35:21Z","modified":"2026-10-28T02:31:00Z","fixes":[{"ecosystem":"Packagist","package":"drupal/oauth2_server","fixed_in":["2.1.0"],"sources":["ghsa","osv"]},{"ecosystem":"Packagist:https://packages.drupal.org/8","package":"drupal/oauth2_server","fixed_in":["2.1.0"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"drupal/oauth2_server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.0"}]}]},{"source":"osv","ecosystem":"Packagist:https://packages.drupal.org/8","package":"drupal/oauth2_server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.0"}]}]},{"source":"osv","ecosystem":"Packagist","package":"drupal/oauth2_server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.0"}]}]}],"products":[{"vendor":"drupal","product":"oauth2 server"},{"vendor":"oauth2_server_project","product":"oauth2_server"}],"references":[{"url":"https://www.drupal.org/sa-contrib-2025-020","tags":["Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-31691","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-4f8q-mwgc-3mwc"},{"url":"https://git.drupalcode.org/project/oauth2_server","tags":["web","package"]},{"url":"https://www.drupal.org/project/oauth2_server","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/31xxx/CVE-2025-31691.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2025-31691","title":"OAuth2 Server - Moderately critical - Access bypass - SA-CONTRIB-2025-020","description":"Missing Authorization vulnerability in Drupal OAuth2 Server allows Forceful Browsing.This issue affects OAuth2 Server: from 0.0.0 before 2.1.0.","status":"published","published":"2025-03-31T21:49:42.796Z","modified":"2025-04-29T15:20:48.207Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:32:44.424933Z"}],"euvd":[{"id":"EUVD-2025-9026","description":"Missing Authorization vulnerability in Drupal OAuth2 Server allows Forceful Browsing.This issue affects OAuth2 Server: from 0.0.0 before 2.1.0.","status":"published","published":"2025-03-31T21:49:42Z","modified":"2025-04-29T15:20:48Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T20:52:00.449871Z"}],"ghsa":[{"id":"GHSA-4f8q-mwgc-3mwc","title":"Drupal OAuth2 Server Missing Authorization vulnerability","description":"Missing Authorization vulnerability in Drupal OAuth2 Server allows Forceful Browsing. This issue affects OAuth2 Server: from 0.0.0 before 2.1.0.","status":"published","published":"2025-04-01T00:30:35Z","modified":"2025-04-29T20:25:21Z","cvss":[{"version":"4.0","score":8.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U","level":"high"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:38:41.402125Z"}],"nvd":[{"id":"CVE-2025-31691","description":"Missing Authorization vulnerability in Drupal OAuth2 Server allows Forceful Browsing.This issue affects OAuth2 Server: from 0.0.0 before 2.1.0.","status":"published","published":"2025-03-31T22:15:21.737Z","modified":"2026-06-17T09:10:47.133Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:10:57.134561Z"}],"osv":[{"id":"CVE-2025-31691","title":"OAuth2 Server - Moderately critical - Access bypass - SA-CONTRIB-2025-020","description":"Missing Authorization vulnerability in Drupal OAuth2 Server allows Forceful Browsing.This issue affects OAuth2 Server: from 0.0.0 before 2.1.0.","status":"published","published":"2025-03-31T21:49:42.796Z","modified":"2026-10-28T02:31:00.432800201Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:44:48.02508Z"},{"id":"GHSA-4f8q-mwgc-3mwc","title":"Drupal OAuth2 Server Missing Authorization vulnerability","description":"Missing Authorization vulnerability in Drupal OAuth2 Server allows Forceful Browsing. This issue affects OAuth2 Server: from 0.0.0 before 2.1.0.","status":"published","published":"2025-04-01T00:30:35Z","modified":"2025-12-10T23:41:10.210993Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":8.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:46:36.782754Z"},{"id":"DRUPAL-CONTRIB-2025-020","description":"Provides OAuth2 server functionality based on the oauth2-server-php library.\n\nThe module does not consistently enforce admin configurations allowing users on a disabled server to still authenticate.","status":"published","published":"2025-02-26T18:35:21Z","modified":"2026-09-10T03:46:09.15036833Z","updated_at":"2026-11-02T15:46:13.584509Z"}]}}
