Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege portal user
-
ExploitCall hd_ticket.api.new with victim's email as raised_by
-
ExecutionPlant impersonated phishing ticket in victim portal
-
ImpactRead victim replies via get_ticket_activities
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires an authenticated low-privilege Frappe Helpdesk portal account (PR:L) and the ability to call the hd_ticket.api.new endpoint with an attacker-controlled raised_by parameter; the endpoint in versions before 1.26.0 trusts the client-supplied raised_by instead of binding it to frappe.session.user. Full impact (victim seeing the phishing ticket and the attacker reading replies) depends on passive victim interaction (UI:P) - the targeted customer must view/engage with the planted ticket in their portal. Limiting factors: valid portal credentials are needed (not fully unauthenticated), impact is confined to the specific victim's email/tickets, there is no availability or system-level impact, and instances already upgraded to v1.26.0 are not affected. |
| Impact | This is a moderate-severity authorization bypass (CWE-639, IDOR-style) with a vendor-assigned CVSS 4.0 base score of 5.1, and the signals are internally consistent rather than conflicting. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) confirms network reachability with low attack complexity but requires an authenticated portal account (PR:L) and passive victim interaction (UI:P) to realize the full impact, which correctly tempers the raw score. Impact is bounded to low confidentiality and low integrity (VC:L/VI:L, VA:N) - the attacker can plant tickets under a victim's identity and read their replies, but there is no availability impact, no privilege escalation, and no system compromise. No EPSS score, SSVC decision, KEV listing, or POC was provided in the input; therefore exploitation status is 'no public exploit identified at time of analysis.' This is a legitimate but non-urgent fix-on-cycle issue, not an emergency: it is a logic/authorization flaw useful for targeted phishing and limited data exposure against specific customers rather than for mass or automated exploitation. The absence of EPSS/KEV/SSVC data means widespread-exploitation likelihood cannot be quantified from the input and would need external enrichment to confirm. |
| Exploit ScenarioDerived | An attacker registers or already holds a low-privilege Frappe Helpdesk portal account, then calls the hd_ticket.api.new endpoint supplying a victim customer's email as the raised_by value, causing a ticket to appear in the victim's portal as if legitimately raised. The attacker uses this to plant a convincing phishing ticket and, via get_ticket_activities, reads the victim's replies. No public proof-of-concept was identified in the provided data, but the root cause and fix are confirmed by the vendor commit diff. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Frappe Helpdesk releases before 1.26.0 trust a client-supplied raised_by value in the hd_ticket.api.new endpoint, letting an authenticated low-privilege portal user create tickets that appear to originate from another customer's email address. Because that same identity field drives the ticket activity lookups, the attacker can also pull the victim's thread replies through get_ticket_activities, enabling targeted phishing planted directly inside the victim's support portal. Successful abuse requires a valid portal account and passive victim engagement with the fabricated ticket, and no public exploit code or active exploitation has been identified at time of analysis; the vendor-released patch is v1.26.0.
RemediationAI
Upgrade Frappe Helpdesk to v1.26.0 or later (release https://github.com/frappe/helpdesk/releases/tag/v1.26.0), which incorporates the fix commits 1186367f3616a605440e73e6a08eacbbcb9b92d9 and c778f533b24b1dee0c75b206979a9bc4b1be0de2 that force raised_by to frappe.session.user; verify the applied patch by confirming the assignment exists in helpdesk/helpdesk/doctype/hd_ticket/api.py after upgrade (bench update --apps helpdesk followed by a bench restart). If an immediate upgrade is not possible, mitigate by restricting self-registration of portal users so only vetted customers hold accounts, and by narrowing who can reach the /api/method/helpdesk.helpdesk.doctype.hd_ticket.api.new endpoint at the reverse-proxy or role-permission layer - noting that blocking the endpoint outright disables legitimate portal ticket submission for the affected roles, so scope any block to suspicious or unverified accounts. Additionally, audit existing HD Ticket records for raised_by values that do not match the session or contact that created them, and monitor outbound activity on get_ticket_activities for tickets whose raised_by does not correspond to the requesting user, since these are the observable signatures of the impersonation pattern.
Affected VersionsENISA
Affected Packages
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 Helpdesk is a self-hosted support/ticketing application built on the Frappe framework, where portal users authenticate as Website Users and interact with HD Ticket records through whitelisted REST-style methods under helpdesk/helpdesk/doctype/hd_ticket/api.py. The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key), an IDOR-style flaw: the new() method accepted the full ticket document dictionary from the request body and persisted the raised_by field as supplied by the caller instead of deriving it from frappe.session.user. raised_by is the email-based ownership key that ties a ticket to a portal customer and is consulted when serving ticket activity data, so controlling it lets an attacker both forge the ticket's apparent originator and access the activity stream of tickets created under that identity (the documented get_ticket_activities path). The upstream fix in commit 1186367f3616a605440e73e6a08eacbbcb9b92d9 is a single-line server-side assignment of doc["raised_by"] = frappe.session.user inside new(), eliminating the trust boundary violation; the release accompanying it is v1.26.0. The independent assessment maps this to CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N (low confidentiality and integrity impact, no availability or scope change), consistent with the vendor's CVSS 4.0 base score of 5.1.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable API callable by any authenticated portal user (PR:L), low complexity, but full disclosure/phishing impact needs victim interaction (UI:R); impact limited to one victim's data and ticket integrity (C:L/I:L), no availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Frappe Helpdesk before 1.26.0 contains an authorization bypass vulnerability that allows authenticated portal users to create tickets impersonating other customers by supplying a raised_by value. Attackers can call the hd_ticket.api.new endpoint with a victim's email to plant phishing tickets in their portal and read their replies via get_ticket_activities.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c
SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A
An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev
Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie
SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL
In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re
EUVD-2026-104312
GHSA-4f8v-crcw-833x
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB