Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2024-43973

CVE-2024-43973: Ayecode GetPaid Auth Bypass Vulnerability

CVE-2024-43973 is an authorization bypass flaw in Ayecode GetPaid invoicing plugin that allows attackers to exploit misconfigured access controls. This post covers the technical details, affected versions, and mitigation steps.

Published:

CVE-2024-43973 Overview

CVE-2024-43973 is a missing authorization vulnerability in the Stiofan GetPaid invoicing plugin for WordPress. The flaw affects all versions of GetPaid up to and including 2.8.11. Authenticated attackers with low-privileged accounts can exploit incorrectly configured access control checks to reach functionality that should require elevated permissions. The weakness is tracked under CWE-862: Missing Authorization and can compromise the confidentiality, integrity, and availability of the invoicing system and its underlying WordPress data.

Critical Impact

Authenticated attackers can bypass access control on the GetPaid plugin and reach privileged invoicing functions over the network, exposing payment and customer records.

Affected Products

  • AyeCode GetPaid (Payment Forms, Buy Now Buttons and Invoicing System) WordPress plugin
  • All versions from initial release through 2.8.11
  • WordPress sites using the GetPaid plugin for invoicing or payment collection

Discovery Timeline

  • 2024-11-01 - CVE-2024-43973 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2024-43973

Vulnerability Analysis

The GetPaid plugin exposes invoicing and payment-related actions that are not consistently gated by capability or ownership checks. An authenticated user with a low-privilege role, such as subscriber or customer, can invoke endpoints or actions intended for administrators or invoice owners. Because the plugin handles invoices, payment forms, and buy-now transactions, unauthorized access can disclose customer data, alter invoice state, and impact billing workflows.

The attack requires network access and valid authentication but no user interaction. Successful exploitation affects all three security properties of the affected WordPress site, including plugin-managed records and adjacent data reachable through the abused actions.

Root Cause

The root cause is a missing authorization check on one or more plugin actions. The code path validates that a request is authenticated but does not enforce that the caller holds the required WordPress capability or owns the target invoice object. This is a classic CWE-862 defect where current_user_can() or an equivalent ownership check is absent before privileged operations execute.

Attack Vector

An attacker first obtains any authenticated session on the target WordPress site, which is trivial when the site allows self-registration or offers customer accounts. The attacker then submits crafted HTTP requests to the vulnerable GetPaid actions, referencing invoice identifiers or administrative operations. The plugin executes the request without verifying authorization, yielding unauthorized read or modify access. Refer to the Patchstack Vulnerability Report for advisory details.

Detection Methods for CVE-2024-43973

Indicators of Compromise

  • Unexpected invoice modifications, status changes, or refunds initiated by non-administrator accounts.
  • WordPress access logs showing low-privileged user IDs making POST requests to GetPaid AJAX or REST endpoints.
  • New or altered invoice records without a corresponding administrator audit trail entry.

Detection Strategies

  • Audit WordPress user activity for subscriber or customer accounts invoking GetPaid administrative actions.
  • Correlate HTTP request logs against the WordPress capability model to flag actions performed by users lacking manage_options or invoice ownership.
  • Deploy web application firewall rules that inspect requests to GetPaid endpoints and enforce role-based allowlists.

Monitoring Recommendations

  • Enable verbose logging on the WordPress wp-admin/admin-ajax.php and REST API routes registered by GetPaid.
  • Alert on abnormal spikes in invoice enumeration or bulk retrieval requests from a single authenticated session.
  • Track changes to plugin files and database tables owned by GetPaid to identify tampering.

How to Mitigate CVE-2024-43973

Immediate Actions Required

  • Upgrade GetPaid to a version later than 2.8.11 once the vendor publishes a fixed release.
  • Restrict WordPress registration and disable self-signup on sites that do not require public accounts.
  • Review existing low-privileged user accounts and remove any that are unused or suspicious.

Patch Information

A fixed version beyond 2.8.11 is required to remediate this issue. Administrators should consult the Patchstack Vulnerability Report and the AyeCode GetPaid plugin changelog to confirm the patched release before deploying updates in production.

Workarounds

  • Temporarily deactivate the GetPaid plugin on sites that cannot immediately upgrade.
  • Apply WAF rules to block requests to GetPaid endpoints from users not in the administrator or shop manager roles.
  • Enforce two-factor authentication on all WordPress accounts to raise the cost of obtaining a foothold.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.