Skip to main content

Sprout Invoices CVE-2025-64227

CRITICAL
Deserialization of Untrusted Data (CWE-502)
2025-12-18 audit@patchstack.com
9.8
CVSS 3.1 · Vendor: patchstack
Share

Severity by source

Vendor (patchstack) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
8.1 HIGH

Remote unauthenticated (AV:N/PR:N/UI:N), but full impact realistically depends on a reachable POP gadget chain, so AC:H rather than AC:L; full CIA if chain exists.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (patchstack).

CVSS VectorVendor: patchstack

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Metadata Corrected
Sep 26, 2026 - 00:40 vuln.today
tag: PHP added
Analysis Generated
Sep 25, 2026 - 23:45 vuln.today
CVE Published
Dec 18, 2025 - 08:16 cve.org
CRITICAL 9.8

DescriptionCVE.org

Deserialization of Untrusted Data vulnerability in BoldGrid Client Invoicing by Sprout Invoices sprout-invoices allows Object Injection.This issue affects Client Invoicing by Sprout Invoices: from n/a through <= 20.8.7.

AnalysisAI

Unauthenticated PHP object injection in the WordPress plugin Client Invoicing by Sprout Invoices (sprout-invoices) up to and including version 20.8.7 lets remote attackers pass crafted serialized data into an unserialize() sink, which can trigger arbitrary object instantiation and, if a suitable POP gadget chain is loaded, full code execution or data compromise. The plugin's NVD/Patchstack vector is 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), while our independent assessment scores it 9.8 with a higher attack complexity (AC:H) because real-world impact hinges on a usable gadget chain being present in the plugin, WordPress core, or another active plugin. No public exploit code and no confirmed active exploitation were identified at time of analysis, and EPSS is low at 0.38% (29th percentile), so exploitation is currently assessed as plausible but not observed.

Technical ContextAI

The flaw is a classic CWE-502 Deserialization of Untrusted Data issue in a PHP WordPress plugin. Sprout Invoices accepts attacker-influenced input that is routed to PHP's unserialize() without adequate validation, allowing an attacker to control the object graph that PHP reconstructs. Because PHP instantiates attacker-named classes during unserialization and automatically invokes magic methods such as __wakeup(), __destruct(), and __toString(), a suitably crafted payload can drive a property-oriented programming (POP) gadget chain that chains method calls across loaded classes to reach dangerous sinks like file writes, SQL execution, or command execution. The practical ceiling of the bug is therefore environment-dependent: an object-injection primitive alone is not guaranteed code execution, and the exploitability varies with which classes are autoloadable at runtime (the plugin itself, WordPress core, or other installed plugins/themes). The advisory is attributed to Patchstack and maps to the WordPress plugin ecosystem; no CPE strings were supplied, but the affected component is unambiguously the Client Invoicing by Sprout Invoices plugin for WordPress at version 20.8.7 and earlier, and the CVSS vector (AV:N/PR:N/UI:N) indicates the vulnerable path is reachable remotely without credentials or user interaction.

Affected ProductsAI

Client Invoicing by Sprout Invoices (WordPress plugin slug sprout-invoices), all versions up to and including 20.8.7, per the vendor-neutral advisory at https://patchstack.com/database/Wordpress/Plugin/sprout-invoices/vulnerability/wordpress-client-invoicing-by-sprout-invoices-plugin-20-8-7-php-object-injection-vulnerability. No CPE identifiers were provided in the source data, so exact CPE matching is unavailable; the affected surface is any WordPress installation with the plugin installed and active, and no non-default configuration is documented as a prerequisite for reaching the vulnerable unserialize() code path.

RemediationAI

No vendor-released patch or fixed version was identified at time of analysis in the provided data, so the immediate action is to treat the plugin as vulnerable and remove the attack surface: deactivate and uninstall Client Invoicing by Sprout Invoices if it is not business-critical, accepting the loss of invoicing functionality, or isolate it behind strict access controls if it must remain. If the plugin stays installed, place a WAF or reverse-proxy rule in front of the site that inspects request bodies for PHP serialization markers (for example O: object tokens and serialized class names) targeting plugin endpoints, understanding that signature-based blocking can be evaded with encoding tricks and may generate false positives on legitimate traffic. Because exploitability depends on a usable gadget chain, additionally reduce the loaded class surface by removing unnecessary plugins and themes, which shrinks the population of POP gadgets but does not fix the underlying flaw. Monitor the Patchstack advisory page for a patched release and apply it as soon as one is published, and treat any successful object-injection attempt as a potential full site compromise requiring credential rotation and malware review rather than a limited plugin-only incident.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2025-64227 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy