Skip to main content

Frappe Framework EUVDEUVD-2026-43100

| CVE-2026-58503 MEDIUM
Observable Discrepancy (CWE-203)
2026-07-10 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/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
vuln.today AI
5.3 MEDIUM

Unauthenticated network endpoint with no complexity; impact is limited to low confidentiality loss (account enumeration only), with no integrity or availability effect.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Patch available
Jul 10, 2026 - 23:02 EUVD
Analysis Generated
Jul 10, 2026 - 22:11 vuln.today

DescriptionCVE.org

Frappe is a full-stack web application framework. Prior to 16.16.0 and 15.106.0, user enumeration could be performed via the reset_password endpoint. This issue is fixed in versions 16.16.0 and 15.106.0.

AnalysisAI

User enumeration via the reset_password endpoint in Frappe framework exposes valid account usernames to unauthenticated remote attackers across all versions prior to 15.106.0 and 16.16.0. The flaw stems from observable response discrepancies (CWE-203) that allow systematic probing of registered accounts without any credentials. No public exploit has been identified at time of analysis and no CISA KEV listing exists, but the zero-barrier network access makes this a realistic reconnaissance primitive for credential stuffing or targeted phishing campaigns against Frappe-based deployments.

Technical ContextAI

Frappe is a Python-based full-stack web application framework that underpins ERPNext and numerous other enterprise applications. The root cause is CWE-203 (Observable Discrepancy): the reset_password endpoint returns distinguishably different responses - differing HTTP status codes, body content, or timing - depending on whether a submitted identifier matches a valid account. This side-channel allows systematic account existence probing. The CPE cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:* covers all versions in both the v15 and v16 release branches prior to the patched releases. The fix was applied via two separate pull requests (PRs #38625 and #38626) targeting both maintained branches, with corresponding commits 1ff64d4a67f9a6d8819ac059dc69f023fb9ea264 and d3becf5672cbb5c7150447161941aeebeeb84ae8.

RemediationAI

Upgrade Frappe to version 16.16.0 (v16 branch) or 15.106.0 (v15 branch), which resolve the user enumeration discrepancy in the reset_password endpoint. The upstream fixes are in GitHub PRs #38625 (https://github.com/frappe/frappe/pull/38625) and #38626 (https://github.com/frappe/frappe/pull/38626), with release artifacts at https://github.com/frappe/frappe/releases/tag/v16.16.0 and https://github.com/frappe/frappe/releases/tag/v15.106.0. As a compensating control prior to patching, administrators may block public access to the /api/method/frappe.core.doctype.user.user.reset_password endpoint at the reverse proxy layer (e.g., an nginx location block returning 403), though this fully disables the self-service password reset feature for end users and requires an alternative reset workflow. A lower-impact alternative is to apply aggressive rate limiting and IP-based throttling on that endpoint to significantly slow enumeration without disabling the feature, accepting a residual risk that slow enumeration remains possible.

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-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

CVE-2025-52041 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_stock_balance_for() at erpnext/stock/doctype/stock_reconciliation/stock_reco

CVE-2025-52040 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_blanket_orders() at erpnext/controllers/queries.py is vulnerable to SQL Inje

CVE-2025-52039 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_material_requests_based_on_supplier() at erpnext/stock/doctype/material_requ

Share

EUVD-2026-43100 vulnerability details – vuln.today

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