Skip to main content

Frappe CRM EUVDEUVD-2026-104314

| CVE-2026-111937 MEDIUM
Missing Authorization (CWE-862)
2026-10-19 VulnCheck GHSA-6wh4-r87p-4qfj
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 Sales User
  2. Exploit
    Query frappe.client filtering CRM Notification on to_user
  3. Execution
    Read/mark/delete another user's notifications
  4. Impact
    Information disclosure and tampering of victim notifications

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 account with at least Sales User role on the target Frappe CRM instance (below System Manager/Administrator, which are exempted by the patched permission hooks). Exploitation works against default configurations of vulnerable versions (before 1.81.2) because the CRM Notification doctype lacked any get_permission_query_conditions or has_permission hook, and the mark_as_read API accepted an attacker-supplied user argument. The limiting factors are the authentication requirement (PR:L - not unauthenticated) and the fact that impact is confined to CRM Notification records (read, mark-read, delete) rather than core CRM data; System Manager and Administrator accounts are unaffected by the authorization gap.

Impact

This is a medium-severity (CVSS 5.3) missing-authorization flaw (CWE-862) whose signals are internally consistent and point to a real but bounded issue rather than a top-priority emergency. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network-reachable, low-complexity exploitation but requires existing low privileges (PR:L) - an authenticated Sales User account - which caps impact to VC:L/VI:L with no availability impact (VA:N) and no scope/subsequent-system change (SC:N/SI:N). No EPSS score, KEV listing, or public POC was supplied, so there is no public exploit identified at time of analysis and no evidence of active exploitation; however, the source-code commit diff is public and makes the exploit path trivially derivable (removing the attacker-controlled user argument from mark_as_read and adding get_permission_query_conditions/has_permission hooks), which lowers the practical bar to weaponization even absent a packaged POC. Signals are not conflicting: the technical-impact ceiling is genuinely low because an attacker can only read, mark-read, or delete other users' CRM Notification records - metadata, not primary CRM business data or credentials. The main caveat is that exploitation presupposes a valid authenticated account on the target instance, making this most relevant as an insider/multi-tenant trust-boundary issue rather than an internet-wide mass-exploitation risk.

Exploit ScenarioDerived

An authenticated Sales User with a legitimate Frappe CRM login queries a frappe.client list/get endpoint filtering CRM Notification records on the to_user field belonging to a colleague, enumerating and reading their notifications, then calls mark_as_read with another user's argument to mark or delete those records. No public exploit is identified, but the fix commit publicly reveals the exact vulnerable parameter and endpoints, making the attack straightforward to reproduce. The attack is network-reachable with low complexity but requires valid low-privilege credentials.

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 19, 2026

Frappe CRM before 1.81.2 allows authenticated Sales Users to read, mark read, or delete other users' CRM Notification records by querying the frappe.client endpoints with a to_user filter or by passing a victim's user argument to the mark_as_read API. The missing-authorization flaw (CWE-862) exists because the CRM Notification doctype defines no permission query conditions or has_permission hook and the API trusted a caller-supplied user value; System Manager and Administrator accounts are exempt, and impact is confined to notification records rather than core CRM data. Rated medium severity (CVSS 5.3), it requires an authenticated Sales User account and works against default configurations; no public exploit code or confirmed active exploitation was identified at time of analysis, and vendor-released patch 1.81.2 is available.

RemediationAI

Upgrade Frappe CRM to version 1.81.2 or later, which is the vendor-released patch; the security advisory GHSA-4rjw-6mxx-m345 and release tag https://github.com/frappe/crm/releases/tag/v1.81.2 document the fix, and commit a24d73acefa7f98f46903858514444442ce57614 removes the attacker-controlled user parameter from mark_as_read and adds the CRM Notification permission hooks. If immediate upgrade is not possible, apply that commit or manually backport the two hooks and the mark_as_read signature change, noting that custom forks must merge carefully to avoid breaking any internal callers that still pass a user argument. Compensating controls include restricting Sales User accounts to trusted personnel and reviewing role assignments, because the flaw requires an authenticated account with that role; this reduces exposure but does not eliminate it and may disrupt CRM workflows. Network-level restriction of frappe.client access to trusted users and monitoring for unusual to_user-filtered notification queries offer additional detection but add operational overhead and are not substitutes for the patch.

Affected VersionsENISA

crm 0 <1.81.2

Affected Packages

euvd crm fix: 1.81.2

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 CRM is built on the Frappe framework, where DocTypes such as CRM Notification rely on permission hooks - get_permission_query_conditions to filter list queries and has_permission to authorize individual document actions. In versions before 1.81.2, the CRM Notification doctype shipped without either hook, so Frappe's default checks did not scope records to their intended recipient; combined with the whitelisted mark_as_read method accepting an optional user argument (defaulting to frappe.session.user) and frappe.client endpoints allowing list filters on to_user, an authenticated low-privileged Sales User could enumerate, read, mark read, or delete notifications belonging to other users. The CWE-862 root cause is absent authorization enforcement rather than a memory-safety or injection bug; the fix at commit a24d73acefa7f98f46903858514444442ce57614 removes the user parameter from mark_as_read and registers get_permission_query_conditions and has_permission for CRM Notification in crm/hooks.py, restricting non-System Manager/non-Administrator users to records where to_user matches their session user. The CPE cpe:2.3:a:frappe:crm:*:*:*:*:*:*:*:* covers affected releases prior to 1.81.2.

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:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Network-reachable frappe.client/API endpoints with low complexity, but requires an authenticated Sales User (PR:L); impact limited to reading (C:L) and tampering/deleting (I:L) other users' notifications, no availability loss.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/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
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Frappe CRM before 1.81.2 contains a missing authorization vulnerability that allows authenticated Sales Users to access other users' CRM Notification records due to absent permission hooks. Attackers can query frappe.client endpoints filtering on to_user or call mark_as_read with another user argument to read, mark read, or delete others' notifications.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche open-source CRM, limited enterprise deployment footprint
Social Media
1
Sightings
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