Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Authenticated network access needed (PR:L, AV:N); impact confined to data read-out with no write or availability effect (C:H/I:N/A:N); no scope change.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
5DescriptionGitHub Advisory
Frappe HR is an open-source human resources management solution (HRMS). Prior to versions 15.54.0 and 14.38.1, a specially crafted request made to a certain endpoint could result in SQL injection, allowing an attacker to extract information they wouldn't otherwise be able to. Versions 15.54.0 and 14.38.1 contain a patch. No known workarounds are available.
AnalysisAI
SQL injection in Frappe HR (HRMS) exposes sensitive human resources data to authenticated remote attackers via a specially crafted request to an undisclosed endpoint. Affected installations running versions prior to 15.54.0 (v15 branch) or 14.38.1 (v14 branch) are vulnerable to unauthorized data extraction through unsanitized query parameters. No public exploit code has been identified and CISA KEV does not list this CVE; EPSS at 0.03% (10th percentile) and SSVC exploitation status of 'none' collectively indicate low current threat actor interest, though the C:H CVSS impact reflects meaningful data exposure risk for organizations handling employee records.
Technical ContextAI
Frappe HR (CPE: cpe:2.3:a:frappe:hrms:*:*:*:*:*:*:*:*) is an open-source HRMS built on the Frappe framework, which uses Python and typically a MariaDB/MySQL backend. CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) indicates that attacker-controlled input is incorporated into a SQL query without adequate sanitization or parameterization, allowing injection of arbitrary SQL clauses. The advisory does not name the specific endpoint or parameter, which limits independent verification of the attack surface, but the pattern is consistent with application-layer query construction bypassing ORM protections for a particular feature - common in HRMS products where complex reporting or search endpoints construct dynamic queries.
RemediationAI
Upgrade Frappe HRMS to version 15.54.0 (v15 branch) or 14.38.1 (v14 branch), which contain the vendor-released patch per the GitHub Security Advisory GHSA-745c-5q8r-vgj2 at https://github.com/frappe/hrms/security/advisories/GHSA-745c-5q8r-vgj2. The vendor explicitly states no known workarounds are available, so patching is the only confirmed remediation path. As an interim risk reduction measure pending upgrade, organizations may consider restricting access to the HRMS application to trusted internal networks or VPN-only access, which reduces the attack surface for external threat actors - though this does not eliminate insider or compromised-credential threats. Access controls on HRMS user accounts should be reviewed to ensure principle of least privilege is enforced, limiting the pool of accounts that could be leveraged to exploit this issue.
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
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
In Frappe ERPNext 15.57.5, the function get_stock_balance_for() at erpnext/stock/doctype/stock_reconciliation/stock_reco
In Frappe ERPNext 15.57.5, the function get_blanket_orders() at erpnext/controllers/queries.py is vulnerable to SQL Inje
In Frappe ERPNext 15.57.5, the function get_material_requests_based_on_supplier() at erpnext/stock/doctype/material_requ
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-24290