MEDIUM 6.5

CVE-2026-13011: WP ERP SQL Injection via orderby Parameter - HR Manager Access Required

The WP ERP (Enterprise Resource Planning) plugin for WordPress contains a SQL injection vulnerability in its employee list functionality. An attacker with HR Manager privileges or higher can manipulate a sorting parameter to inject malicious SQL commands, potentially extracting sensitive company data from the database. While the vulnerability requires authenticated access at a specific privilege level, the ability to exfiltrate data makes it a meaningful risk for organizations running this plugin.

Source data · NVD / CISA · public domain

CVSS
3.1 · 6.5 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Weaknesses (CWE)
CWE-89
Affected products
0 configuration(s)
Published / Modified
2026-07-09 / 2026-07-09

NVD description (verbatim)

The ERP: Complete HR, Accounting & CRM Suite with Recruitment and WooCommerce CRM Support plugin for WordPress is vulnerable to generic SQL Injection via the 'orderby' parameter in all versions up to, and including, 1.17.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with custom-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. Exploitation requires the erp_list_employee capability, which is granted to HR Manager-level users and above within the WP ERP plugin.

6 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-13011 is a SQL injection flaw in the WP ERP Complete HR, Accounting & CRM Suite plugin (versions up to 1.17.5) affecting the 'orderby' parameter used in employee list queries. The plugin fails to properly escape and prepare the user-supplied parameter before incorporating it into SQL statements. Attackers possessing the erp_list_employee capability—automatically granted to HR Manager-level and above roles—can append arbitrary SQL to extract data. The vulnerability is classified as CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) and carries a CVSS 3.1 score of 6.5 (Medium severity) due to the requirement for authenticated access and lack of integrity/availability impact.

Business impact

Organizations using WP ERP risk unauthorized exposure of sensitive HR and employee data, including personal information, compensation details, recruitment records, and potentially accounting records. While direct database corruption or system unavailability is not possible through this vector, the confidentiality breach could expose employee PII, creating regulatory compliance issues (GDPR, state privacy laws) and reputational harm. The attack surface is limited to users with HR Manager roles, but in many organizations that represents multiple staff members with legitimate business access.

Affected systems

The WP ERP Complete HR, Accounting & CRM Suite plugin for WordPress in version 1.17.5 and earlier is affected. The vulnerability is specific to installations where the erp_list_employee capability is in use, typically granted to HR Manager-level users and above. Any WordPress site running an affected version of the plugin with active HR management workflows is potentially vulnerable.

Exploitability

Exploitation requires valid WordPress credentials with at least HR Manager-level access. An attacker must either compromise such an account or already be a privileged internal user. No authentication bypass is required, and no user interaction is needed beyond typical plugin usage. Once authenticated, crafting malicious SQL via the orderby parameter requires standard SQL injection techniques but is not administratively complex. The barrier to entry is moderate; the vulnerability is not exploitable by anonymous users, but any compromised HR staff account becomes a pivot point for data extraction.

Remediation

Organizations should immediately patch the WP ERP plugin to a version beyond 1.17.5 that includes proper parameter escaping and SQL query preparation. Verify the availability of a patched version through the official WordPress plugin repository or the vendor's advisory. As an interim control, restrict the erp_list_employee capability to the minimum set of HR staff who genuinely require employee list access, reducing the attack surface. Monitor database query logs for unusual SQL patterns emanating from WordPress application queries.

Patch guidance

Apply the vendor patch by updating the WP ERP plugin to the latest available version that resolves this SQL injection. Verify the patch version against the official WordPress plugin repository or vendor security advisory to confirm the fix addresses CWE-89 in the orderby parameter handling. Test the patch in a staging environment before production deployment to ensure compatibility with other plugins and custom configurations. After patching, confirm that employee list functionality continues to operate normally and that no database integrity issues remain from prior exploitation attempts.

Detection guidance

Monitor WordPress database query logs and application-level logging for SQL commands originating from the WP ERP employee list endpoint that contain unexpected SQL keywords (UNION, SELECT, OR, AND) within the orderby parameter value. Audit WordPress user role assignments to identify which accounts hold HR Manager or above privileges. Review access logs for the employee list page to detect unusual access patterns from unexpected user accounts. Implement Web Application Firewall (WAF) rules to detect and block SQL injection payloads in the orderby parameter before they reach the database. Database activity monitoring tools can flag suspicious query patterns typical of SQL injection reconnaissance.

Why prioritize this

Although this vulnerability requires authenticated access and is not remotely exploitable by anonymous attackers, it presents a clear path to sensitive data exfiltration for insiders or attackers who have compromised an HR staff account. The business data at risk—employee records, compensation, recruitment pipelines—carries high confidentiality sensitivity. The prevalence of the WP ERP plugin in mid-market HR departments and the relative ease of exploitation once authenticated justify prioritization over truly complex, low-impact vulnerabilities. This is a 'patch soon' rather than 'patch immediately' issue, but should not be deferred.

Risk score, explained

The CVSS 3.1 score of 6.5 (Medium) reflects the balance between a meaningful confidentiality impact (high) and the requirement for valid authentication at a specific privilege level (HR Manager or above). The attack vector is network-accessible, but the privilege requirement and lack of impact on integrity or availability prevent a higher score. For a multi-tenant or shared hosting environment where HR staff accounts may be more numerous, the practical risk may be perceived as higher; conversely, highly restricted environments with few HR Manager accounts may rate it lower relative to their threat model.

Frequently asked questions

Can this vulnerability be exploited by anonymous attackers without WordPress login credentials?

No. The vulnerability explicitly requires authentication with at least HR Manager-level access within the WP ERP plugin. Unauthenticated users cannot trigger the vulnerable code path. However, any compromise of an HR staff account significantly increases the risk.

What data can an attacker extract using this SQL injection?

An attacker can extract any data accessible to the WordPress database user account, typically including employee records, HR data, accounting entries, contact information, and potentially credentials or other sensitive information stored in the database. The scope depends on database permissions and what data is present in the WP ERP tables.

Does this vulnerability affect the integrity or availability of the database?

No. The vulnerability is limited to data extraction (confidentiality). It does not inherently allow data modification, deletion, or denial-of-service attacks. However, a skilled attacker with database knowledge may be able to escalate further depending on the broader database configuration and permissions.

What is the erp_list_employee capability, and who has it by default?

The erp_list_employee capability is a WP ERP permission that grants the ability to view employee lists. It is automatically assigned to HR Manager-level roles and above within the plugin. Site administrators can restrict this capability to specific user roles if needed.

This analysis is provided for informational purposes and reflects the vulnerability details as published. Organizations should verify patch availability and compatibility with their specific plugin version and WordPress configuration before deploying updates. The CVSS score provided is the published official score; organizations may adjust risk assessment based on their own environment, data sensitivity, and user privilege distribution. This explainer does not constitute security advice for any specific system; consult with qualified security professionals regarding your deployment. No exploit code or weaponized proof-of-concept is provided or endorsed. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).