CSRF in Frappe
CVE-2026-66001
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.
Vulnerability class: CSRF (Cross-Site Request Forgery)
Published · last modified .
EPSS exploit prediction
EPSS: 0.003 (25.2th percentile), scored .
Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 25th percentile — 25.2% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.002 · newest: 0.003 · change: +0.001
Affected products
- Frappe — versions < 15.114.0, >= 16.0.0-beta.1, < 16.26.0
Weakness classification (CWE)
References
- github.com/frappe/frappe/security/advisories/GHSA-2ph8-x773-8p2x
- 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/releases/tag/v15.114.0
- github.com/frappe/frappe/releases/tag/v16.26.0