Read the docs

Authorization bypass in GetPaid WordPress plugin exposes invoices

Priority LOW 36CWE-639Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-639.

Summary

The GetPaid plugin for WordPress before 2.8.63 from AyeCode Ltd contains an authorization bypass (CWE-639) in process_invoice(), where the maybe_use_invoice parameter is trusted without the ownership and key checks in is_authorized_to_pay(). An unauthenticated remote attacker who knows a pending invoice ID can read its checkout pricing details and move the invoice into an on-hold state.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

Description from the CNA

The GetPaid plugin for WordPress before 2.8.63 contains an authorization bypass vulnerability that allows unauthenticated attackers to access and manipulate another user's invoice by supplying its ID through the maybe_use_invoice parameter in process_invoice(), bypassing the ownership and key checks performed by is_authorized_to_pay(). Attackers can submit a known pending invoice ID via maybe_use_invoice to read checkout pricing details and initiate a checkout workflow, resulting in an unauthorized state change of the invoice to on-hold.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00232 14th percentileScored 2026-11-07
Fix Fixed Payment forms, Buy now buttons, and Invoicing System | GetPaid (AyeCode Ltd): 2.8.63

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
AyeCode LtdPayment forms, Buy now buttons, and Invoicing System | GetPaidbefore 2.8.632.8.63Patch availableCNA
  • Payment forms, Buy now buttons, and Invoicing System | GetPaid VendorAyeCode Ltd Affected before 2.8.63 Fixed in 2.8.63 Patch available CNA

Remediation

Update the GetPaid plugin to version 2.8.63 or later, which fixes the flaw.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

  • Fix · CNA Payment forms, Buy now buttons, and Invoicing System | GetPaid (AyeCode Ltd) Fixed in 2.8.63

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    AyeCode Payment forms, Buy now buttons, and Invoicing System | GetPaid 2.8.63

    3 records Highest priority Priority MEDIUM 1 MEDIUM, 2 LOW

    Other records, highest priority first

    • TI-2026-85113 Negative quantity bypasses payment in GetPaid WordPress pluginPriority MEDIUM 44
    • TI-2026-85111 Incorrect authorization in GetPaid WordPress plugin REST APIPriority LOW 31

Timeline

  1. 2026-11-04 Threatist record created from CVE-2026-119748
  2. 2026-11-04 Alias added: GHSA-hr58-8ppj-xwvg
  3. 2026-11-04 CISA SSVC decision points changed
  4. 2026-11-04 Priority changed: MEDIUM → LOW

References

  • TI-2024-28816 WordPress GeoDirectory plugin <= 2.3.61 - SQL Injection vulnerability CVSS 3.1HIGH 8.8
  • TI-2024-06008 UsersWP < 1.2.12 - Users Information Disclosure CVSS 3.1HIGH 7.5
  • TI-2022-04371 GeoDirectory < 2.2.22 - Contributor+ Stored XSS via Shortcode CVSS 3.1MEDIUM 5.4
  • TI-2025-05608 GeoDirectory < 2.8.120 - Contributor+ Stored XSS CVSS 3.1MEDIUM 5.9
  • TI-2024-05812 SQL injection in stiofansisland UsersWP – Front-end login form, User Registration, User… CVSS 3.1CRITICAL 9.8
  • TI-2021-06653 GeoDirectory Location Manager < 2.1.0.10 - Multiple Unauthenticated SQL Injections CVSS 3.1CRITICAL 9.8
See all 27 →

Sources