Description
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.
References9
- github.com/frappe/frappe/commit/336c7d335db762b494acdfe43aea69d…
- github.com/frappe/frappe/commit/d7460769f999c68d3121b680119f872…
- github.com/frappe/frappe/commit/eb9c1446cac13236c6d573b136786db…
- github.com/frappe/frappe/pull/40073
- github.com/frappe/frappe/pull/40700
- github.com/frappe/frappe/pull/40701
- github.com/frappe/frappe/releases/tag/v15.114.0
- github.com/frappe/frappe/releases/tag/v16.26.0
- github.com/frappe/frappe/security/advisories/GHSA-2ph8-x773-8p2x
Metrics
- CVSS 4.0
-
8.5
HIGH
Score source: CNA
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 - EPSS — exploit probability
- 0% percentile: 28 · as of 10 November 2026
- CWE
- CWE-352
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.