db
MariaDB 10.6 service providing the WordPress database, configured with root and wp user credentials.
docker-compose.yaml:5-11Canto <= 3.0.4 - Unauthenticated Remote File Inclusion
CVE-2023-3452 has a selected CVSS score of 9.8 (critical); EIP currently links 4 repository PoCs, 1 Nuclei template, and 1 lab environment.
The Canto plugin for WordPress is vulnerable to Remote File Inclusion in versions up to, and including, 3.0.4 via the 'wp_abspath' parameter. This allows unauthenticated attackers to include and execute arbitrary remote code on the server, provided that allow_url_include is enabled. Local File Inclusion is also possible, albeit less useful because it requires that the attacker be able to upload a malicious php file via FTP or some other means into a directory readable by the web server.
| Product | Source | Version range | Status |
|---|---|---|---|
cantoBrowse canto / cantoDefault status: unknown | CVE List | Through 3.0.4 | affected |
Default status: unaffected | CVE List | Through 3.0.4 | affected |
A Python script that exploits CVE-2023-3452, an unauthenticated Remote File Inclusion (RFI) vulnerability in the WordPress Canto plugin (≤ 3.0.4), to achieve Remote Code Execution (RCE). It serves a malicious PHP file via a local HTTP server and triggers the inclusion via the 'wp_abspath' parameter.
No backdoor observed in reviewed code
The PoC is a straightforward exploit for CVE-2023-3452. It creates a temporary PHP file containing a user-supplied command, serves it via a local HTTP server, and triggers the target's RFI vulnerability to execute it. All behavior is consistent with the stated purpose of demonstrating the CVE. No concealed, deceptive, or unrelated harmful actions were observed.
The primary artifact is a Python script (canto_exploit.py) that actively exploits a vulnerability to execute arbitrary commands on a remote target. It includes a full exploitation chain: vulnerability check, payload generation, HTTP server setup, and RFI trigger. The README explicitly describes it as an 'Exploit' and provides usage examples for achieving RCE.
README.md:3canto_exploit.py:1-3canto_exploit.py:127-168canto_exploit.py:110-111README.md:99-100README.md:17canto_exploit.py:94-125canto_exploit.py:62-73canto_exploit.py:75-86canto_exploit.py:139-144canto_exploit.py:146-158canto_exploit.py:62-70canto_exploit.py:75-86canto_exploit.py:127-170canto_exploit.py:29canto_exploit.py:101canto_exploit.py:144canto_exploit.py:67canto_exploit.py:266This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.
A Metasploit exploit module for CVE-2023-3452 and CVE-2024-25096, which are Remote File Inclusion vulnerabilities in the WordPress Canto plugin. The module includes a check method to detect vulnerable versions and an exploit method that starts an HTTP server to serve a PHP payload, triggering code execution via the 'abspath' or 'wp_abspath' parameters.
No backdoor observed in reviewed code
The reviewed text files (README.md and wp_canto_rfi_rce.rb) describe and implement a standard Metasploit exploit module for CVE-2023-3452 and CVE-2024-25096. The module uses a built-in PHP include server to deliver a Meterpreter payload, which is normal exploit behavior. No concealed backdoor, credential theft, persistence, or unrelated payload delivery was observed.
The artifact is a complete Metasploit module that actively exploits the vulnerability by serving a payload and triggering remote file inclusion to achieve code execution. The README describes it as a 'proof-of-work exploit' and provides usage instructions for obtaining a Meterpreter session.
README.md:3-4wp_canto_rfi_rce.rb:128-150wp_canto_rfi_rce.rb:30wp_canto_rfi_rce.rb:27wp_canto_rfi_rce.rb:85-101wp_canto_rfi_rce.rb:95-98wp_canto_rfi_rce.rb:129-130wp_canto_rfi_rce.rb:141-147wp_canto_rfi_rce.rb:152-159wp_canto_rfi_rce.rb:128-150wp_canto_rfi_rce.rb:152-163This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.
A Docker Compose environment defining a WordPress 6.4 service with a MariaDB 10.6 database, configured to allow remote file inclusion via a mounted PHP configuration file, intended as a lab for exploiting Canto plugin RFI vulnerabilities.
docker-compose.yaml:1-29rfi.ini:1-3The README explicitly states the environment is for demonstrating CVE-2023-3452 and CVE-2024-25096, provides setup instructions for a vulnerable Canto plugin, and includes a Metasploit exploit module. The Docker Compose file mounts a PHP configuration enabling allow_url_include, a prerequisite for the RFI vulnerabilities.
README.md:1-5docker-compose.yaml:24-25MariaDB 10.6 service providing the WordPress database, configured with root and wp user credentials.
docker-compose.yaml:5-11WordPress 6.4 service with port 8889 mapped to container port 80, mounting a plugins directory and a PHP configuration file that enables allow_url_include, making it susceptible to RFI attacks when a vulnerable Canto plugin is installed.
docker-compose.yaml:13-25rfi.ini:1A Metasploit exploit module targeting CVE-2023-3452 and CVE-2024-25096 in the Canto WordPress plugin. It exploits unsanitized abspath and wp_abspath parameters to achieve remote file inclusion and code execution.
wp_canto_rfi_rce.rb:1-165Supported by supplied evidence
The README describes CVE-2023-3452 as an RFI vulnerability via the wp_abspath parameter in require_once, and the exploit module includes logic to use wp_abspath for specific target files. The lab environment is configured with allow_url_include enabled, matching the vulnerability prerequisites.
README.md:7-9wp_canto_rfi_rce.rb:130-135Supported by supplied evidence
The README describes CVE-2024-25096 as an RFI vulnerability via the abspath parameter in include_once, and the exploit module includes logic to use abspath for specific target files. The lab environment is configured with allow_url_include enabled, matching the vulnerability prerequisites.
README.md:5-7wp_canto_rfi_rce.rb:130-135README.md:17-18README.md:19rfi.ini:1docker-compose.yaml:16-17README.md:29README.md:30README.md:33README.md:39-47README.md:49-88All visible behavior is directed at the lab's own WordPress target. The exploit module's actions (RFI, payload delivery, reverse shell) are expected for demonstrating the stated vulnerabilities. No evidence of host escape, external connections beyond the lab, persistence, credential theft, or destructive behavior is present.
wp_canto_rfi_rce.rb:1-165README.md:1-122This review is limited to the supplied lab evidence packet. It does not assert that the environment runs, reproduces a vulnerability, or is safe to execute. Contract: eip-docker-lab-analysis-v1.
Canto plugin for WordPress up to version 3.0.4 contains a remote file inclusion caused by the 'wp_abspath' parameter, letting unauthenticated attackers include and execute arbitrary remote code if allow_url_include is enabled, exploit requires allow_url_include to be enabled.
Attackers can execute arbitrary remote code on the server, leading to full server compromise.
Update to the latest version of the Canto plugin, above 3.0.4, or disable allow_url_include in PHP configuration.
Source: ProjectDiscovery