db
MariaDB 11.4 container providing the WordPress database. It is configured with a root password, a dedicated WordPress user, and a healthcheck.
docker-compose.yml:2-14Geo Mashup <= 1.13.18 - Unauthenticated Time-Based SQL Injection via 'sort' Parameter
CVE-2026-4060 has a selected CVSS score of 7.5 (high); EIP currently links 1 repository PoC and 1 lab environment.
The Geo Mashup plugin for WordPress is vulnerable to Time-Based SQL Injection via the 'sort' parameter in all versions up to, and including, 1.13.18. This is due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. The `esc_sql()` function is applied but is ineffective in the `ORDER BY` context because the value is not enclosed in quotes. Additionally, while a `sanitize_sort_arg()` allowlist-based sanitizer was added in version 1.13.18, it is only applied in the AJAX code path (`sanitize_query_args()`) and not in the `render-map.php` or template tag code paths. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database via a time-based blind approach.
| Product | Source | Version range | Status |
|---|---|---|---|
Geo MashupBrowse cyberhobo / Geo MashupDefault status: unaffected | CVE List | Through 1.13.18 | affected |
The artifact is a Nuclei detection template and supporting documentation for CVE-2026-4060. It checks for the presence of a vulnerable Geo Mashup plugin version and then sends a time-based SQL injection payload to confirm the vulnerability via response delay, without extracting data.
No backdoor observed in reviewed code
The supplied evidence consists of a README.md documentation file and a Nuclei detection template (CVE-2026-4060.yaml). The README describes a legitimate SQL injection proof-of-concept for CVE-2026-4060, including setup instructions, test results, and mitigation. The Nuclei template contains standard detection logic with no concealed or deceptive behavior. No backdoor, trojan, or suspicious payload is present in the reviewed text.
The primary artifact is a Nuclei template (nuclei/CVE-2026-4060.yaml) that detects the vulnerability by checking the plugin version and confirming a time delay from a SLEEP injection. It does not extract data or exploit the vulnerability beyond confirming its presence. The README.md describes a separate Python PoC (poc.py) for data extraction, but that file is not included in the supplied evidence.
nuclei/CVE-2026-4060.yaml:1-70README.md:119-130nuclei/CVE-2026-4060.yaml:47-52nuclei/CVE-2026-4060.yaml:64-69nuclei/CVE-2026-4060.yaml:34-54nuclei/CVE-2026-4060.yaml:56-63nuclei/CVE-2026-4060.yaml:64-70README.md:114nuclei/CVE-2026-4060.yaml:59This 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 running WordPress 6.8.2 with MariaDB 11.4 and the vulnerable Geo Mashup 1.13.18 plugin, designed to demonstrate CVE-2026-4060, an unauthenticated time-based blind SQL injection.
docker-compose.yml:1-50README.md:1-275The README explicitly describes CVE-2026-4060, provides a PoC script, and the Compose file sets up a specific vulnerable version of the Geo Mashup plugin (1.13.18) on WordPress. The environment is structured to reproduce and test the SQL injection vulnerability.
README.md:1-3docker-compose.yml:44MariaDB 11.4 container providing the WordPress database. It is configured with a root password, a dedicated WordPress user, and a healthcheck.
docker-compose.yml:2-14WordPress 6.8.2 with Apache and PHP 8.2, exposing port 8080 on the host. It depends on the db service and mounts a volume for persistent data. The vulnerable Geo Mashup plugin is installed by the cli service.
docker-compose.yml:16-30A WordPress CLI container that runs a one-time setup script to install WordPress, install and activate the vulnerable Geo Mashup 1.13.18 plugin, and create a geo-tagged post. It runs as user 33:33 and exits after completion.
docker-compose.yml:32-44A Python script that checks for the Geo Mashup plugin, confirms the SQL injection via a SLEEP payload, and extracts database version, name, and user using time-based blind SQLi.
poc.py:1-147A shell script that starts the Docker Compose environment, waits for it to be ready, and prints instructions for running the PoC.
setup.sh:1-18Supported by supplied evidence
The README, PoC script, and Compose setup all target CVE-2026-4060. The environment installs the vulnerable plugin version (1.13.18) and the PoC demonstrates time-based blind SQL injection via the sort parameter, consistent with the CVE description.
README.md:1-3poc.py:1-6docker-compose.yml:44README.md:89-91README.md:67setup.sh:4-5README.md:100-101README.md:89-91setup.sh:4-5README.md:103-107README.md:109-117README.md:119-121README.md:123-125All visible behavior is directed at the lab's own WordPress target. The PoC extracts database information from the lab's MariaDB container, which is expected for demonstrating the SQL injection vulnerability. No evidence of host escape, external connections, persistence, credential theft, or destructive actions beyond the lab scope was found.
poc.py:1-147docker-compose.yml:1-50setup.sh:1-18This 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.
Packet coverage: some source evidence omitted