CVE-2026-25364

5.3 MEDIUM

📋 TL;DR

This CVE describes a Missing Authorization vulnerability in the BoldGrid Client Invoicing by Sprout Invoices WordPress plugin. It allows attackers to bypass access controls and potentially access sensitive invoicing data or perform unauthorized actions. All WordPress sites using affected versions of this plugin are vulnerable.

💻 Affected Systems

Products:
  • BoldGrid Client Invoicing by Sprout Invoices WordPress plugin
Versions: All versions up to and including 20.8.8
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with this specific plugin installed and activated.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could access all client invoicing data, modify invoices, steal financial information, or disrupt billing operations.

🟠

Likely Case

Unauthorized access to client invoices and financial data, potentially leading to data theft or invoice manipulation.

🟢

If Mitigated

Limited impact with proper network segmentation and additional access controls, though the core vulnerability remains.

🌐 Internet-Facing: HIGH - WordPress plugins are typically internet-facing and accessible via web interfaces.
🏢 Internal Only: MEDIUM - Internal users could exploit the vulnerability if they have network access to the WordPress instance.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Missing authorization vulnerabilities typically require some level of access but can be exploited with minimal technical skill once the attack vector is identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 20.8.8

Vendor Advisory: https://patchstack.com/database/Wordpress/Plugin/sprout-invoices/vulnerability/wordpress-client-invoicing-by-sprout-invoices-plugin-20-8-8-broken-access-control-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins > Installed Plugins
3. Find 'Client Invoicing by Sprout Invoices'
4. Click 'Update Now' if available
5. Alternatively, download latest version from WordPress repository and manually update

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate sprout-invoices

Restrict Access

all

Use web application firewall rules to restrict access to plugin endpoints

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can access the WordPress admin interface
  • Add additional authentication layers or IP whitelisting for sensitive invoicing functions

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for 'Client Invoicing by Sprout Invoices' version 20.8.8 or earlier

Check Version:

wp plugin get sprout-invoices --field=version

Verify Fix Applied:

Verify plugin version is higher than 20.8.8 in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to /wp-content/plugins/sprout-invoices/ endpoints
  • Multiple failed authorization attempts followed by successful access to invoicing functions

Network Indicators:

  • HTTP requests to sprout-invoices endpoints from unauthorized IPs
  • Unusual traffic patterns to invoicing-related URLs

SIEM Query:

source="wordpress.log" AND ("sprout-invoices" OR "client-invoicing") AND (status=200 OR status=302) AND user="unauthenticated"

🔗 References

📤 Share & Export