Skip to main content

Frappe Framework CVE-2026-109598

| EUVDEUVD-2026-98161 MEDIUM
Missing Authorization (CWE-862)
2026-10-12 VulnCheck GHSA-j49c-82x7-m2c6
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege Frappe user
  2. Exploit
    Invoke whitelisted send_sms API endpoint
  3. Execution
    Bypass missing permission check
  4. Impact
    Send Company-impersonating SMS for phishing/fraud

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a valid authenticated Frappe session for any low-privilege user account (PR:L) that lacks SMS-sending permissions; the attacker then calls the whitelisted send_sms endpoint, which omits the authorization check. Practical impact is further gated by whether the instance has a functioning SMS gateway configured - without it, calls may not deliver messages. Limiting factors: authentication is required (not fully anonymous), no user interaction is needed, and impact is confined to integrity/impersonation of outbound SMS with no data disclosure or service disruption.

Impact

This is a genuinely medium/low-priority issue, not a high-severity emergency. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N) scores 5.3 and is internally consistent with CWE-862 (Missing Authorization) and the description: a network-reachable but *authenticated* low-privilege user (PR:L) can call the endpoint, with the only impact being low integrity (VI:L) - SMS messages that impersonate the Company - and no confidentiality or availability impact. No EPSS score, KEV listing, SSVC decision, or POC was provided in the input; there is no public exploit identified at time of analysis and no evidence of active exploitation. The signals are coherent rather than conflicting: a low-privilege-required authorization gap with limited integrity-only impact. The main real-world risk is abuse for SMS-based phishing/social engineering or SMS-cost abuse rather than system compromise. Note the input tag 'Authentication Bypass' is a mild mischaracterization - this is a missing *authorization* (broken access control) flaw affecting already-authenticated users, not an authentication bypass.

Exploit ScenarioDerived

A low-privileged but authenticated Frappe user (for example a basic employee or self-service portal account) calls the whitelisted send_sms API endpoint, which fails to check SMS-sending permissions. They send arbitrary SMS messages that appear to originate from the Company, enabling phishing, fraud, or reputational abuse. No public exploit code was provided in the input, so exploitation would require crafting the API call manually.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Missing authorization in Frappe Framework's whitelisted send_sms API endpoint allows any authenticated low-privilege user who lacks SMS-sending permissions to send arbitrary SMS messages that impersonate the Company, affecting releases before 15.120.0 and 16.x before 16.33.0. Exploitation requires a valid Frappe session (PR:L per the assessed vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) and no user interaction, but impact is confined to integrity/impersonation of outbound messaging with no data disclosure or service disruption, and is further gated by whether the instance has a functioning SMS gateway configured. No public exploit code was identified at time of analysis, and this is assessed as a medium/low-priority issue rather than a high-severity emergency.

RemediationAI

Vendor-released patch: upgrade to Frappe Framework 15.120.0 or 16.33.0 (or later), which restores the authorization check on the whitelisted send_sms endpoint; see the vendor advisory at https://github.com/frappe/frappe/security/advisories/GHSA-wrh5-p77r-jpvq and the VulnCheck advisory at https://www.vulncheck.com/advisories/frappe-before-16.33.0-broken-authorization-via-send-sms-endpoint for confirmation and version details. If immediate upgrade is not possible, compensating controls include removing send_sms from the set of whitelisted methods for non-privileged roles (via a custom app override or monkey-patch that enforces a role check) - the trade-off being that legitimate SMS workflows for authorized roles may break if implemented incorrectly - and disabling or credential-blanking the configured SMS gateway, which prevents any message from being delivered but also disables all legitimate Company SMS notifications until re-enabled. Restricting API access to trusted networks or disabling user self-registration reduces the pool of low-privilege accounts that can reach the endpoint, at the cost of operational convenience for remote or partner users. Because the assessment indicates no service disruption, no data disclosure, and no identified public exploit code, remediation can be scheduled at medium/low priority rather than treated as an emergency, but the permission check should be verified to be present in any fork or customized copy of the send_sms method before considering the instance fixed.

Affected VersionsENISA

frappe 16.0.0-beta.1 <16.33.0
frappe 0 <15.120.0

Affected Packages

euvd frappe fix: 15.120.0, 16.33.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Frappe Framework is the Python/JavaScript full-stack web application framework underlying ERPNext and many custom business applications. It exposes server-side Python methods to the HTTP API through the @frappe.whitelist() decorator, which makes a function callable by any session that passes the framework's authorization layer rather than by arbitrary unauthenticated callers. The vulnerability is a classic CWE-862 Missing Authorization case: the whitelisted send_sms endpoint omits the role/permission check (e.g. frappe.has_permission or an explicit SMS-sending role test) that should gate the operation, so a logged-in user whose roles do not include SMS privileges can still reach the function and dispatch messages. The assessed CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) confirms network reachability, low attack complexity, and low-privilege authentication as the only prerequisite, with the resulting impact limited to modification of integrity via message impersonation. The CPE record cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:* is version-agnostic and therefore does not itself distinguish the fixed 15.120.0 / 16.33.0 boundaries that the vendor advisory specifies.

Know when Frappe gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable API callable by any authenticated low-privilege user (PR:L), no UI, with only low integrity impact (SMS impersonation) and no confidentiality or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 13, 2026 - 02:16 EUVD

DescriptionCVE.org

Frappe Framework before 15.120.0 and 16.x before 16.33.0 contains a missing authorization vulnerability in the whitelisted send_sms API endpoint, which does not verify that the caller is permitted to send SMS messages. Users lacking the required permissions can invoke send_sms to send arbitrary SMS messages that impersonate the Company.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular open-source framework behind ERPNext, but not ubiquitous infrastructure
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Frappe

View all
CVE-2025-67289 CRITICAL POC
9.6 Dec 22

Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on

CVE-2018-3885 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3884 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3883 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3882 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2025-66440 HIGH POC
8.8 Dec 15

Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c

CVE-2025-66439 HIGH POC
8.8 Dec 15

SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa

CVE-2025-66437 HIGH POC
8.8 Dec 15

Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A

CVE-2020-6145 HIGH POC
8.8 Aug 10

An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev

CVE-2026-39352 HIGH POC
8.7 May 20

Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie

CVE-2025-10655 HIGH POC
8.6 Dec 09

SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL

CVE-2025-52042 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy