Skip to content
Heist/ feed
Back to feed
High

Frappe HR: SQL Injection in HRMS Salary Payments Based on Payment Mode Report

Type: advisorySources: OSV

Frappe HR is an open-source human resources management solution (HRMS). Prior to 16.7.0, an authenticated user with the HR User role can inject SQL through filters in the Salary Payments Based on Payment Mode report. In hrms/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py, get_conditions constructs filter clauses from user-controlled values and get_data incorporates those clauses into a string-formatted SQL query, allowing extraction of arbitrary database data. This issue is fixed in 16.7.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-54524
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 01:19 UTC · Revision 1

Source evidence

Frappe HR: SQL Injection in HRMS Salary Payments Based on Payment Mode Report

core-osv · Original source

Published 17 Sept 2026, 18:33 UTC

Frappe HR is an open-source human resources management solution (HRMS). Prior to 16.7.0, an authenticated user with the HR User role can inject SQL through filters in the Salary Payments Based on Payment Mode report. In hrms/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py, get_conditions constructs filter clauses from user-controlled values and get_data incorporates those clauses into a string-formatted SQL query, allowing extraction of arbitrary database data. This issue is fixed in 16.7.0.

osv:CVE-2026-54524
Complete source record
{
  "id": "4eb79953243f537bd58249c2300a37eabcbb772f5c3b712339fbe80d79e4a6b9",
  "url": "https://osv.dev/vulnerability/CVE-2026-54524",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Frappe HR: SQL Injection in HRMS Salary Payments Based on Payment Mode Report",
    "summary": "Frappe HR is an open-source human resources management solution (HRMS). Prior to 16.7.0, an authenticated user with the HR User role can inject SQL through filters in the Salary Payments Based on Payment Mode report. In hrms/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py, get_conditions constructs filter clauses from user-controlled values and get_data incorporates those clauses into a string-formatted SQL query, allowing extraction of arbitrary database data. This issue is fixed in 16.7.0.",
    "evidence": "osv:CVE-2026-54524",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-54524",
      "aliases": [
        "CVE-2026-54524",
        "GHSA-2gv7-x4h2-3737"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/frappe/hrms",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "a29cc8875aab1f22707b011568f5f1f190861fc8"
                },
                {
                  "fixed": "b16148531954531a448dafdff20dc61882430ee9"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "16.7.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b16148531954531a448dafdff20dc61882430ee9"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "a29cc8875aab1f22707b011568f5f1f190861fc8"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v16.7.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v16.4.0",
            "v16.6.1",
            "v16.6.0",
            "v16.5.4",
            "v16.5.3",
            "v16.5.2",
            "v16.5.1",
            "v16.5.0",
            "v16.4.8",
            "v16.4.7",
            "v16.4.6",
            "v16.4.5",
            "v16.4.4",
            "v16.4.3",
            "v16.4.2",
            "v16.4.1",
            "v16.3.1",
            "v16.3.0",
            "v16.2.0",
            "v16.1.0",
            "v16.0.2",
            "v16.0.1",
            "v16.0.0",
            "v16.0.0-rc.1",
            "v16.0.0-beta.2",
            "v16.0.0-beta.1",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54524.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:52.473148185Z",
      "provider": "osv",
      "references": [
        "https://github.com/frappe/hrms/releases/tag/v16.7.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54524.json",
        "https://github.com/frappe/hrms/security/advisories/GHSA-2gv7-x4h2-3737",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-54524",
        "https://github.com/frappe/hrms/commit/b16148531954531a448dafdff20dc61882430ee9",
        "https://github.com/frappe/hrms/pull/4515"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-89"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54524.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-54524",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 521280,
  "published_at": "2026-09-17T18:33:37.558+00:00"
}