Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted HTTP request with traversal GET params
-
ExploitUnsanitized concatenation in get_cache_file_dir() builds out-of-root path
-
Executioncache_content() calls mkdir()/file_put_contents() without realpath check
-
ImpactArbitrary 0777 directories created and page cache poisoned
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that 10Web Booster (≤2.34.5) is installed and active with its page-caching path reachable, so that attacker-supplied GET parameter names and values flow into OptimizerWebPageCache::get_cache_file_dir() and reach the cache_content() sink. No authentication, user interaction, or special privileges are needed (PR:N/UI:N), and default configurations are affected once caching is operative. Exploitation is LIMITED by design: the written filename is fixed ('source.html'), the file extension cannot be changed, and the content is the server-rendered page buffer rather than attacker-controlled data - so no PHP/executable file can be planted and the practical outcome is bounded to arbitrary directory creation and cache poisoning. Successful out-of-root writes also depend on filesystem permissions of the PHP/web-server user at the traversed target path. |
| Impact | Signals conflict on severity. The input CVSS of 7.5 (AV:N/AC:L/PR:N/UI:N with I:H) correctly captures that this is remotely reachable by unauthenticated attackers at low complexity, but the I:H rating overstates impact: the description explicitly constrains the write to a fixed filename ('source.html'), a non-attacker-controlled content (the rendered page buffer), and no PHP/code-execution capability. The realistic impact is arbitrary recursive directory creation (mode 0777) outside the cache root plus cache poisoning - an integrity issue, but a limited one (I assess I:L, not I:H). No EPSS score, KEV listing, or public POC was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The 'RCE' tag in the input directly contradicts the description, which states code execution is not possible. Net: a legitimate unauthenticated flaw worth patching, but not a critical-impact or actively-exploited emergency; prioritize based on exposure of the affected plugin rather than on the raw 7.5 score. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a crafted HTTP request to a WordPress site running 10Web Booster ≤2.34.5, embedding path-traversal sequences in the GET parameter names/values that get_cache_file_dir() concatenates raw into the on-disk cache path. Because cache_content() calls mkdir() and file_put_contents() with no realpath containment check (unlike the sibling delete_page_cache()), directories are created and a 'source.html' cache file is written outside the intended cache root. No public exploit code is identified at time of analysis; the demonstrated impact is cache poisoning and arbitrary directory creation, not code execution. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Unauthenticated path traversal in the 10Web Booster WordPress plugin (versions up to and including 2.34.5) lets remote attackers create arbitrary directories outside the plugin's cache root, with 0777 permissions applied recursively, and plant a cached page inside them by feeding unsanitized GET parameter names and values into the cache path. The write primitive is strictly limited - the filename is hard-coded to source.html and the body is the server-rendered page buffer rather than attacker-supplied content, so no executable file can be planted and code execution is not achievable, with the realistic outcomes being cache poisoning and stray directory creation (published CVSS 7.5 with I:H; the independent assessment revises integrity impact to Low), and no public exploit identified at time of analysis.
RemediationAI
Upgrade the 10Web Booster plugin to the fixed release - the CVE references point to WordPress.org plugin tag 2.34.8, the version immediately following the vulnerable 2.34.5, so treat 2.34.8 or later as the vendor-released patch (Wordfence threat-intel advisory: https://www.wordfence.com/threat-intel/vulnerabilities/id/83e672e7-2483-46e9-ae16-a9e7ccc4bcb8?source=cve). If immediate upgrading is not possible, deactivate the plugin until it can be updated, or, if the caching feature is essential, restrict external access to endpoints that populate the page cache so attacker-controlled GET parameter names and values cannot reach get_cache_file_dir(); the trade-off is loss of cache-warming/optimization functionality for those requests and possible performance regression. Because the write sink honors filesystem permissions of the PHP/web-server user, tightening that account's write access outside the WordPress uploads/cache directories, and removing world-writable (0777) directory inheritance, provides a compensating control that limits the blast radius of any directory creation; this does not fix the underlying traversal and may break other plugins that rely on broad write access. Monitor for unexpected source.html files or newly created 0777 directories outside the plugin cache root as an indicator of attempted exploitation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a classic CWE-22 path traversal in the caching layer of the 10Web Booster (tenweb-speed-optimizer) WordPress plugin, caused by missing input sanitization combined with a missing canonicalization check at the write sink. OptimizerWebPageCache::get_cache_file_dir() concatenates raw $_GET parameter names and values directly into the on-disk cache path, and the cache_content() sink then calls mkdir() with mode 0777 (recursive) and file_put_contents() on the resulting path without any realpath containment check; the sibling delete_page_cache() function does perform such a containment check, highlighting the inconsistency that creates the vulnerability. Because traversal sequences in the parameter data reach the filesystem path, an attacker can escape the intended cache root, but the primitive is bounded by design: the filename is always source.html (extension fixed, so no .php payloads), and the written bytes are the rendered page buffer generated by the server rather than attacker-controlled content, which is why the reported feed tag 'RCE' overstates the demonstrated impact and code execution is not possible. Exploitation also depends on the PHP/web-server user having write permissions along the traversed target path, and, per the independent assessment, the affected plugin must be installed, active, and reachable through its caching path. Source-level references for the vulnerable logic are in the WordPress plugin Trac at the 2.34.5 tagged files for OptimizerWebPageCache.php (lines 190, 205, 312) and OptimizerWebPageValidations.php (line 299).
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Unauthenticated remote low-complexity reach (AV:N/AC:L/PR:N/UI:N); integrity only and limited since filename/content are fixed and non-attacker-controlled, so I:L not I:H, with C:N/A:N.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The 10Web Booster - Website speed optimization, Cache & Page Speed optimizer plugin for WordPress is vulnerable to a limited file write via path traversal in versions up to, and including, 2.34.5 This is due to the OptimizerWebPageCache::get_cache_file_dir() function concatenating raw, unsanitized $_GET parameter names and values into the on-disk cache path, and the cache_content() sink calling mkdir() and file_put_contents() on the result with no realpath containment check - unlike the sibling delete_page_cache(), which does perform one. This makes it possible for unauthenticated attackers to create arbitrary directories (mode 0777, recursively) outside the cache root and write a cached page into them. The write is LIMITED: the filename is always 'source.html', so the extension is fixed, and the content is the rendered page buffer rather than attacker-supplied data. PHP files cannot be written and code execution is not possible; the demonstrated impact is cache poisoning and arbitrary directory creation.
Executive ViewAI
A flaw in the 10Web Booster WordPress plugin (versions up to and including 2.34.5) allows remote attackers to create arbitrary directories outside the plugin's cache root with world-writable permissions and to plant cached pages within them. Affected organizations run WordPress sites using this plugin, where the realistic impact is cache poisoning and unwanted directory sprawl rather than code execution. Because no vendor patch is currently available and the write primitive cannot plant executable content, leadership should treat this as a moderate-risk operational issue requiring plugin-level mitigation and monitoring rather than an emergency code-execution incident.
No vendor-released patch identified at time of analysis. Interim mitigations: deactivate or remove the 10Web Booster plugin where feasible; restrict filesystem write permissions so the web server user cannot create directories outside the intended cache root; deploy WAF rules to block path traversal sequences in GET parameters; enable filesystem integrity monitoring to detect unexpected directories with 0777 permissions and stray source.html cache files; purge and validate cached content to detect poisoning.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-102671
GHSA-gpm8-99q9-v8fc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB