Safeguard
Vulnerability Analysis•

CVE-2025-31084: Critical Object Injection in Sunshine Photo Cart

CVE-2025-31084 is a Critical PHP object injection in the Sunshine Photo Cart WordPress plugin up to 3.4.10. Update to 3.4.11 and review your site.

Safeguard Security Team
4 min read

CVE-2025-31084 is a Critical severity (CVSS 9.8) PHP object injection flaw in the Sunshine Photo Cart WordPress plugin, versions up to and including 3.4.10. Patchstack lists 3.4.11 as the patched version and an unauthenticated required privilege. Update the plugin promptly.

What's affected

The record covers Sunshine Photo Cart (slug sunshine-photo-cart) from sunshinephotocart, in all versions up to and including 3.4.10. The NVD description names the weakness as deserialization of untrusted data, which allows object injection.

The vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H: network reachable, low complexity, no privileges, no user interaction, and high impact on all three security properties.

Patchstack lists the required privilege as unauthenticated and the fix as 3.4.11. The record does not flag the CVE as exploited in the wild, and it is not in CISA KEV. Patchstack, as the advisory source, does say that vulnerabilities of this severity tend to attract mass scanning, which is a reason to move quickly.

How to check if you're exposed

Check the version with WP-CLI:

wp plugin get sunshine-photo-cart --fields=name,version,status

Or read it from the Plugins page in the WordPress admin. Anything at 3.4.10 or lower is affected.

Photo and store sites often run on a separate staging or client copy that nobody remembers. List plugins across every WordPress install you manage, including multisite networks, and include sites you host for others.

The advisory does not describe how to confirm a past compromise. If the site was exposed on a vulnerable version for some time, check administrator accounts, recently changed files and unexpected scheduled tasks, and compare the plugin directory with a fresh download of the plugin.

What to do now

  1. Update Sunshine Photo Cart to 3.4.11 or later, or run wp plugin update sunshine-photo-cart.
  2. If you cannot update now, deactivate the plugin, or put the store behind a firewall rule that blocks unauthenticated requests to its endpoints.
  3. Compare the plugin folder and wp-content/uploads against a clean copy and look for PHP files that should not be there.
  4. Review administrator users and scheduled events for anything you did not create.
  5. If the store handles customer data, follow your own breach assessment process if you find signs of abuse.

Why it matters

PHP serializes objects to strings so they can be stored or sent. When an application turns such a string back into an object using data from a visitor, the visitor chooses which object gets built. The weakness is CWE-502. If any class loaded in the application has code that runs when an object is created or destroyed, a crafted object can trigger that code in ways the developers did not plan.

That is why the scoring is so high even though the advisory says little about the mechanics. The standard fix is to stop deserializing untrusted input, or to switch to a data only format such as JSON and validate it. For plugin users, the lesson is simple: a store plugin sits on the public internet, takes input from strangers and often has access to customer records, so it deserves the shortest patch window on the site.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

What is PHP object injection in simple terms?

It is a flaw where the application rebuilds an object from data supplied by a visitor. The visitor can pick the object type and its properties, which can trigger unintended behavior.

Is 3.4.11 the only fix?

Patchstack lists 3.4.11 as the patched version. Check the plugin changelog for later releases and install the newest stable one.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.