CVE-2026-66001 (GCVE-0-2026-66001)
Vulnerability from cvelistv5
Published
2026-08-20 18:27
Modified
2026-08-25 15:20
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-352 - Cross-Site Request Forgery (CSRF)
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.
References
| URL | Tags | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||||||||||||||||
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-66001",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-25T15:20:04.226255Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-25T15:20:17.550Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "frappe",
"vendor": "frappe",
"versions": [
{
"status": "affected",
"version": "\u003c 15.114.0"
},
{
"status": "affected",
"version": "\u003e= 16.0.0-beta.1, \u003c 16.26.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.5,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "ACTIVE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-352",
"description": "CWE-352: Cross-Site Request Forgery (CSRF)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-20T18:27:32.056Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/frappe/frappe/security/advisories/GHSA-2ph8-x773-8p2x",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/frappe/frappe/security/advisories/GHSA-2ph8-x773-8p2x"
},
{
"name": "https://github.com/frappe/frappe/pull/40073",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/pull/40073"
},
{
"name": "https://github.com/frappe/frappe/pull/40700",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/pull/40700"
},
{
"name": "https://github.com/frappe/frappe/pull/40701",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/pull/40701"
},
{
"name": "https://github.com/frappe/frappe/commit/336c7d335db762b494acdfe43aea69d459fd51d7",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/commit/336c7d335db762b494acdfe43aea69d459fd51d7"
},
{
"name": "https://github.com/frappe/frappe/commit/d7460769f999c68d3121b680119f8724ddd3eb9d",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/commit/d7460769f999c68d3121b680119f8724ddd3eb9d"
},
{
"name": "https://github.com/frappe/frappe/commit/eb9c1446cac13236c6d573b136786db2e46254fa",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/commit/eb9c1446cac13236c6d573b136786db2e46254fa"
},
{
"name": "https://github.com/frappe/frappe/releases/tag/v15.114.0",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/releases/tag/v15.114.0"
},
{
"name": "https://github.com/frappe/frappe/releases/tag/v16.26.0",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/frappe/frappe/releases/tag/v16.26.0"
}
],
"source": {
"advisory": "GHSA-2ph8-x773-8p2x",
"discovery": "UNKNOWN"
},
"title": "Frappe: Improper Authorization in OAuth2 Consent Endpoint"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-66001",
"datePublished": "2026-08-20T18:27:32.056Z",
"dateReserved": "2026-07-23T18:54:15.833Z",
"dateUpdated": "2026-08-25T15:20:17.550Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-66001\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-08-25T15:20:04.226255Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-08-25T15:20:13.203Z\"}}], \"cna\": {\"title\": \"Frappe: Improper Authorization in OAuth2 Consent Endpoint\", \"source\": {\"advisory\": \"GHSA-2ph8-x773-8p2x\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV4_0\": {\"version\": \"4.0\", \"baseScore\": 8.5, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"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\", \"userInteraction\": \"ACTIVE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"NONE\", \"privilegesRequired\": \"NONE\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"HIGH\", \"subAvailabilityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"NONE\", \"subConfidentialityImpact\": \"NONE\", \"vulnConfidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"frappe\", \"product\": \"frappe\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 15.114.0\"}, {\"status\": \"affected\", \"version\": \"\u003e= 16.0.0-beta.1, \u003c 16.26.0\"}]}], \"references\": [{\"url\": \"https://github.com/frappe/frappe/security/advisories/GHSA-2ph8-x773-8p2x\", \"name\": \"https://github.com/frappe/frappe/security/advisories/GHSA-2ph8-x773-8p2x\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/frappe/frappe/pull/40073\", \"name\": \"https://github.com/frappe/frappe/pull/40073\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/frappe/frappe/pull/40700\", \"name\": \"https://github.com/frappe/frappe/pull/40700\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/frappe/frappe/pull/40701\", \"name\": \"https://github.com/frappe/frappe/pull/40701\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/frappe/frappe/commit/336c7d335db762b494acdfe43aea69d459fd51d7\", \"name\": \"https://github.com/frappe/frappe/commit/336c7d335db762b494acdfe43aea69d459fd51d7\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/frappe/frappe/commit/d7460769f999c68d3121b680119f8724ddd3eb9d\", \"name\": \"https://github.com/frappe/frappe/commit/d7460769f999c68d3121b680119f8724ddd3eb9d\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/frappe/frappe/commit/eb9c1446cac13236c6d573b136786db2e46254fa\", \"name\": \"https://github.com/frappe/frappe/commit/eb9c1446cac13236c6d573b136786db2e46254fa\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/frappe/frappe/releases/tag/v15.114.0\", \"name\": \"https://github.com/frappe/frappe/releases/tag/v15.114.0\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/frappe/frappe/releases/tag/v16.26.0\", \"name\": \"https://github.com/frappe/frappe/releases/tag/v16.26.0\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"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.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-352\", \"description\": \"CWE-352: Cross-Site Request Forgery (CSRF)\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-08-20T18:27:32.056Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-66001\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-25T15:20:17.550Z\", \"dateReserved\": \"2026-07-23T18:54:15.833Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-08-20T18:27:32.056Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…