Easy Invoice <= 2.1.19 — Unauthenticated Arbitrary Quote Accept/Decline and Invoice Creation via easy_invoice_accept_quote / easy_invoice_decline_quote AJAX Actions
CVE-2026-9021Published · Updated Action summary
Affected: ≤2.2.19Update to 2.2.20 or newer
All remediation steps- Severity
- Medium5.3
- CVSS
- 5.3CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NWhat does this vector mean?
AV:NAttack vector- Network
AC:LAttack complexity- Low
PR:NPrivileges required- None
UI:NUser interaction- None
S:UScope- Unchanged
C:NConfidentiality- None
I:LIntegrity- Low
A:NAvailability- None
- Weakness
- CWE-862 Missing Authorization
- Required access
- No account needed
- Exploit prediction (EPSS)
- No score
- CISA KEV
- Not listed
On this page8
Am I affected?
Easy Invoice – Invoice Generator, PDF Quotes & Payments easy-invoice
- Affected≤ 2.2.19
- Patched in2.2.20
Update to 2.2.20 or newer.
You are affected if you run ≤ 2.2.19. Version 2.2.20 and later are not affected by this issue.
- Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under Easy Invoice – Invoice Generator, PDF Quotes & Payments.
- No admin access? Run a passive check of your site. It reads public files only.
- No account is needed to exploit this. Treat any exposed site on an affected version as at risk.
What to do
- Update to version 2.2.20, or a newer patched version
- Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
- Watch Easy Invoice – Invoice Generator, PDF Quotes & Payments to get an email when the next vulnerability is published.
Advisory
Source description from Wordfence Intelligence, credited to PeterPatter.
The Easy Invoice plugin for WordPress is vulnerable to Missing Authorization in versions up to, and including, 2.1.19. This is due to the plugin registering the easy_invoice_accept_quote and easy_invoice_decline_quote AJAX actions via wp_ajax_nopriv_ hooks and relying solely on a quote-scoped nonce that is rendered into the publicly accessible single quote template, combined with an ownership check that is gated behind an off-by-default Pro option (easy_invoice_pro_restrict_quote_to_client). This makes it possible for unauthenticated attackers to accept or decline arbitrary published quotes — and, depending on the configured accept action, automatically convert them into invoices (and even email them to the client) — by harvesting the per-quote nonce from the public quote page and submitting it to admin-ajax.
Exploits & references
Proof-of-concept & detection
No public proof-of-concept or detection template is known for this vulnerability.
Advisories & patches
- Advisorywordfence.com
Related CVEs
More in Easy Invoice – Invoice Generator, PDF Quotes & Payments
All 5| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| Medium5.3 | Missing Authorization ≤2.3.8Update to 2.4.0 | CVE-2026-66676 | |
| Critical9.8 | Unauthenticated Remote Code Execution ≤2.1.19Update to 2.1.20 | CVE-2026-48836 | |
| Medium6.6 | Authenticated (Administrator+) Local File Inclusion ≤2.1.4Update to 2.1.5 | CVE-2025-66115 | |
| High7.2 | Unauthenticated Stored Cross-Site Scripting ≤2.0.9Update to 2.1.0 | CVE-2025-6324 |
- Medium5.3Missing Authorization
≤2.3.8Update to 2.4.0
- Critical9.8Unauthenticated Remote Code Execution
≤2.1.19Update to 2.1.20
- Medium6.6Authenticated (Administrator+) Local File Inclusion
≤2.1.4Update to 2.1.5
- High7.2Unauthenticated Stored Cross-Site Scripting
≤2.0.9Update to 2.1.0
Same weakness (Missing Authorization)
All Missing Authorization| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| High7.2 | Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header | CVE-2026-120688 | |
| Critical9.8 | Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission | CVE-2026-125055 | |
| Critical9.8 | Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter | CVE-2026-119077 | |
| Medium5.3 | Unauthenticated Sensitive Information Exposure in 'search' Parameter | CVE-2026-121518 |
- High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header
EZ SQL Reports Shortcode Widget and DB Backup
≤5.25.25Update to 5.26.45
- Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission
Chatterbug Forms – Fast, Flexible WordPress Form Builder
≤1.0.2Update to 1.1
- Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter
ELEX WordPress HelpDesk & Customer Ticketing System
≤3.3.9Update to 3.4.0
- Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce
≤5.127.0Update to 5.128.0
Timeline
CVE published
Severity medium, CVSS 5.3
Record last updated
Sources & licenses
Wordfence record- Vulnerability data
- Wordfence Intelligence. Copyright 2012-2026 Defiant Inc. Licensed under the CC BY-SA 4.0.
- CVE® identifiers
- Copyright 1999-2026 The MITRE Corporation. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
- CVSS / CWE
- National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
- VulnCrest content
- Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.
