CVE-2026-111110: Payment forms, Buy now buttons, and Invoicing System | GetPaid <= 2.8.61 - Unauthenticated Stored Cross-Site Scripting via 'mmdwqzpoxadd' Parameter
The Payment forms, Buy now buttons, and Invoicing System | GetPaid plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'mmdwqzpoxadd' parameter in all versions up to, and including, 2.8.61 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The required nonce (getpaidformnonce) is publicly emitted to all visitors via wplocalizescript as WPInv.formNonce, meaning no authentication or prior nonce leak is needed; the stored payload fires when an administrator views the affected invoice's Payment Form Details metabox.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue, and what access do they need?
Any unauthenticated remote visitor can attempt exploitation. The required getpaid_form_nonce is publicly exposed to visitors as WPInv.formNonce, so an attacker does not need an account or a separately obtained nonce.
When does the injected script execute?
The payload is stored and executes when an administrator views the affected invoice's Payment Form Details metabox. This creates an administrator-focused exposure rather than requiring the attacker to directly run the script in their own session.
Which installations are affected?
GetPaid versions up to and including 2.8.61 are affected. The issue is in handling of the mmdwqzpoxadd parameter.