CVE-2026-66001 json
Frappe: Improper Authorization in OAuth2 Consent Endpoint
published 2026-08-20 2 mo ago modified 2026-10-26 14 d ago also EUVD-2026-63540
- cvss
- 8.5
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 27%
- public exploits
- 0
- none known
Summary
Frappe is a full-stack web application framework. Prior to 15.114.0 and 16.26.0, the approve and authorize functions in frappe/integrations/oauth2.py allow the OAuth2 consent flow to proceed without restricting approve to POST, without a csrf_token in frappe/templates/includes/oauth_confirmation.html, and without scoping an active OAuth token check to the requesting client. An attacker can cause an authenticated user to approve an OAuth grant or reuse authorization state for the wrong client, exposing data and permitting actions within the granted scopes. This issue is fixed in versions 15.114.0 and 16.26.0.
Patch / fix
- frappe frappe 15.114.0, 16.26.0
- github.com/frappe/frappe@336c7d3 commit
- github.com/frappe/frappe@d746076 commit
- github.com/frappe/frappe@eb9c144 commit
- github.com/frappe/frappe#40073 pull request
- github.com/frappe/frappe#40700 pull request
- github.com/frappe/frappe#40701 pull request
- github.com/frappe/frappe/releases/tag/v15.114.0 release
- github.com/frappe/frappe/releases/tag/v16.26.0 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 2 mo ago
Exploit prediction
0.34% chance of exploitation in the next 30 days, higher than 27% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected products
- frappe frappe
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
References
- github.com /frappe/frappe/pull/40073
- github.com /frappe/frappe/pull/40700
- github.com /frappe/frappe/pull/40701
- github.com /frappe/frappe/commit/336c7d335db762b494acdfe43aea69d459fd51d7
- github.com /frappe/frappe/commit/d7460769f999c68d3121b680119f8724ddd3eb9d
- github.com /frappe/frappe/commit/eb9c1446cac13236c6d573b136786db2e46254fa
- github.com /frappe/frappe/security/advisories/GHSA-2ph8-x773-8p2x
- github.com /frappe/frappe/releases/tag/v15.114.0
- github.com /frappe/frappe/releases/tag/v16.26.0
Sources
- CVE List CVE-2026-66001
- NVD CVE-2026-66001
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.