CVE-2025-68068
Executive Summary
CVE-2025-68068 is a critical PHP Local File Inclusion (LFI) vulnerability affecting the Stockholm WordPress theme by Select-Themes, up to and including version 9.14.1. This vulnerability stems from improper control of a filename used in an include/require statement, allowing an unauthenticated attacker to include arbitrary local files from the server. Successful exploitation can lead to sensitive information disclosure, including configuration files, database credentials, and potentially source code. The vulnerability is classified as a WordPress ecosystem issue, as the theme is a component of a WordPress installation. No public proof-of-concept (PoC) or exploit code has been identified at this time, and the patch status remains unknown.
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.
No signup required
Supply Chain & Package Security
This vulnerability affects a WordPress theme distributed via the official WordPress theme repository and commercial marketplaces. Users are advised to verify the integrity of their theme files and ensure they are sourced from trusted channels. The lack of a patch from the vendor (Select-Themes) increases the risk of supply chain compromise if malicious actors inject backdoors into unpatched installations.
CVSS Breakdown & Threat Level
- CVSS Score: 7.5 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: None
- Availability Impact: None
The high confidentiality impact and low attack complexity make this a significant threat, especially for unpatched WordPress installations.
Deep Dive & Mechanics
The vulnerability exists in the Stockholm theme's PHP code, where a filename parameter is passed to an include or require statement without proper sanitization. This allows an attacker to manipulate the path and include arbitrary files from the server's filesystem. The specific vulnerable function is likely within the theme's template loading or file inclusion mechanism.
Root Cause: The application fails to validate or sanitize user-supplied input used in a file inclusion function (e.g., include(), require(), include_once(), require_once()). By providing a path traversal sequence (e.g., ../../etc/passwd), an attacker can read sensitive files outside the intended directory.
Attack Vector: An unauthenticated attacker sends a crafted HTTP request to the WordPress site, targeting a parameter that controls file inclusion. The request may look like:
GET /wp-content/themes/stockholm/?file=../../../../etc/passwd HTTP/1.1
Impact: Successful exploitation allows reading of:
/etc/passwd(user enumeration)/etc/shadow(password hashes, if permissions allow)wp-config.php(database credentials, salts, keys)- Other sensitive server files
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code pattern is described below. A patched version would include proper input validation and path restriction.
Vulnerable Code (Conceptual):
<?php
$file = $_GET['file'];
include("includes/" . $file . ".php");
?>
Patched Code (Conceptual):
<?php
$allowed_files = array('header', 'footer', 'sidebar');
$file = $_GET['file'];
if (in_array($file, $allowed_files)) {
include("includes/" . $file . ".php");
} else {
// Handle error
}
?>
Exploitation & Lab Setup
Red Team
Prerequisites:
- A WordPress installation with Stockholm theme version <= 9.14.1
- Knowledge of the vulnerable parameter (e.g.,
file,template,include)
Exploitation Steps:
- Identify the vulnerable parameter by fuzzing the theme's endpoints.
- Send a crafted request to read sensitive files:
GET /wp-content/themes/stockholm/?file=../../../../etc/passwd HTTP/1.1 Host: target.com - If successful, the response will contain the contents of
/etc/passwd. - Attempt to read
wp-config.php:GET /wp-content/themes/stockholm/?file=../../../../wp-config HTTP/1.1
Note: No public exploit code is available. The above is a conceptual example.
Blue Team
Detection Steps:
- Monitor web server logs for suspicious path traversal patterns (e.g.,
../,..\\,%2e%2e%2f). - Look for requests to the Stockholm theme directory with unexpected parameters.
- Use file integrity monitoring (FIM) to detect unauthorized changes to theme files.
- Implement a Web Application Firewall (WAF) rule to block path traversal attempts.
Hunting Query:
GET /wp-content/themes/stockholm/.*file=.*\.\./
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests containing
../or..\\in the query string targeting/wp-content/themes/stockholm/ - Unusual file read requests (e.g.,
/etc/passwd,/etc/shadow,wp-config.php)
- HTTP requests containing
- File System IOCs:
- Unexpected access to sensitive files outside the web root
- Modified theme files (if exploitation leads to code execution)
- Log IOCs:
- Web server logs showing
404or200responses for path traversal attempts - Error logs containing file inclusion errors
- Web server logs showing
Detection Engineering
YARA Rule
rule CVE_2025_68068_LFI_Stockholm {
meta:
description = "Detects path traversal attempts targeting Stockholm theme LFI"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-68068"
strings:
$path_traversal = /\.\.\/|\.\.\\|%2e%2e%2f|%2e%2e%5c/
$theme_path = /\/wp-content\/themes\/stockholm\//
condition:
$theme_path and $path_traversal
}
Sigma Rule
title: CVE-2025-68068 - Stockholm Theme LFI Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects path traversal attempts against the Stockholm WordPress theme
author: Valters IT
date: 2025/04/10
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains:
- '../'
- '..\\'
- '%2e%2e%2f'
- '%2e%2e%5c'
cs-uri-stem|contains: '/wp-content/themes/stockholm/'
condition: selection
falsepositives:
- Legitimate use of relative paths in theme files (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-68068 - Stockholm Theme LFI Attempt"; flow:to_server,established; content:"/wp-content/themes/stockholm/"; http_uri; content:"../"; http_uri; distance:0; within:10; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the Stockholm theme if possible, and switch to a default WordPress theme (e.g., Twenty Twenty-Four).
- Apply a virtual patch using a WAF to block path traversal patterns.
- Monitor logs for any signs of exploitation.
Long-Term Fix:
- Since no official patch is available, consider forking the theme and manually patching the vulnerable code by:
- Whitelisting allowed files
- Using
realpath()to resolve and validate paths - Removing the vulnerable parameter entirely
Workarounds:
- Use a security plugin (e.g., Wordfence) to add file inclusion protection.
- Restrict file permissions on sensitive files (e.g.,
wp-config.phpshould be readable only by the web server user).
Valters IT
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.