db
MariaDB 10.11 database service for WordPress, configured with a healthcheck.
CVE-2026-16258/docker-compose.control.yml:4-16File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
The artifact is a Python 3 exploit for CVE-2026-16258, an unauthenticated PHP Object Injection vulnerability in the Ajax Search Lite WordPress plugin. The script sends a serialized PHP object to a vulnerable REST endpoint, which triggers deserialization and executes a canary gadget's __destruct method to write a marker file, confirming code execution.
No backdoor observed in reviewed code
The PoC demonstrates a legitimate PHP Object Injection exploit against a known vulnerability (CVE-2026-16258). The Python script sends a serialized payload to a vulnerable REST endpoint and verifies the side effect by reading a marker file from a Docker container. No concealed executable behavior, credential theft, persistence, or unrelated payload delivery is present. The script's actions are fully explained in the documentation and align with the stated vulnerability.
The primary artifact is a Python script (poc/poc.py) that actively exploits the vulnerability by sending a malicious payload to trigger deserialization and then verifies the side effect (file creation) to confirm code execution. This meets the definition of an exploit.
poc/poc.py:1-141README.md:27-29poc/poc.py:25-27poc/poc.py:106poc/poc.py:56-63poc/poc.py:113-126poc/poc.py:50poc/poc.py:106poc/poc.py:56-63poc/poc.py:76-85This 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 for CVE-2026-16258, an unauthenticated PHP object injection vulnerability in the Ajax Search Lite WordPress plugin. It includes a MariaDB database and a WordPress web server with the vulnerable plugin and a lab-only canary gadget to demonstrate the impact.
CVE-2026-16258/docker-compose.control.yml:1-42CVE-2026-16258/README.md:1-82The environment is explicitly designed to reproduce and verify CVE-2026-16258. It includes a vulnerable WordPress plugin, a canary gadget to demonstrate object injection, a PoC script, and detailed instructions for exercising the vulnerability.
CVE-2026-16258/README.md:1-82CVE-2026-16258/poc/poc.py:1-141MariaDB 10.11 database service for WordPress, configured with a healthcheck.
CVE-2026-16258/docker-compose.control.yml:4-16WordPress 6.x on PHP 8.2 with Apache, serving the Ajax Search Lite plugin and a lab-only canary gadget. The plugin's search-statistics REST route is unauthenticated and vulnerable to PHP object injection.
CVE-2026-16258/docker-compose.control.yml:18-36CVE-2026-16258/README.md:15-30A lab-only WordPress plugin that provides a class with a __destruct method writing an attacker-controlled file, used to prove object injection without a real-world POP chain.
CVE-2026-16258/assets/canary-gadget/canary-gadget.php:1-34Python script that sends a serialized payload to the vulnerable REST route and verifies object injection by reading a marker file from the target container.
CVE-2026-16258/poc/poc.py:1-141Bash script that installs WordPress, the plugin, and the canary gadget, enables search statistics, and creates test users.
CVE-2026-16258/seed.sh:1-124Supported by supplied evidence
The evidence describes an unauthenticated PHP object injection in Ajax Search Lite < 4.14.5 via the search-statistics REST route, matching the CVE description. The PoC demonstrates the vulnerability and the fix is verified in the control environment.
CVE-2026-16258/README.md:15-30CVE-2026-16258/poc_verification_report.md:1-27CVE-2026-16258/README.md:25-27CVE-2026-16258/README.md:28-30CVE-2026-16258/README.md:47-48CVE-2026-16258/README.md:50-52CVE-2026-16258/README.md:55-56CVE-2026-16258/README.md:58-60CVE-2026-16258/README.md:62-63All visible behavior is directed at the contained lab target. The PoC writes a marker file inside the target container to demonstrate the vulnerability, which is expected for a vulnerability lab. No host escape, external connections, persistence, credential theft, or destructive actions are observed.
CVE-2026-16258/poc/poc.py:1-141CVE-2026-16258/seed.sh:1-124This 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
A Docker Compose environment for reproducing CVE-2026-16258, an unauthenticated PHP Object Injection vulnerability in the Ajax Search Lite WordPress plugin. It consists of a MariaDB database and a WordPress web server with the vulnerable plugin and a lab-only canary gadget mounted.
CVE-2026-16258/docker-compose.yml:1-40CVE-2026-16258/README.md:1-82The README explicitly describes the environment as a lab for reproducing CVE-2026-16258, with instructions for running a vulnerable and a patched control environment, and a PoC script to demonstrate the vulnerability.
CVE-2026-16258/README.md:1-82MariaDB 10.11 database service for WordPress, configured with a healthcheck.
CVE-2026-16258/docker-compose.yml:2-13WordPress 6.x on PHP 8.2 with Apache, serving the vulnerable Ajax Search Lite plugin and a lab-only canary gadget. Exposes port 80 on a host port defined by WEB_PORT.
CVE-2026-16258/docker-compose.yml:15-33A lab-only WordPress plugin that provides a class with a __destruct method which writes a file to a path and with contents controlled by the attacker via a serialized object. It is used to prove the unserialize instantiation and magic method execution.
CVE-2026-16258/assets/canary-gadget/canary-gadget.php:1-34A Python 3 script that sends a serialized PHP object to the vulnerable REST endpoint and verifies the vulnerability by checking for a marker file written inside the target container via docker exec.
CVE-2026-16258/poc/poc.py:1-141A bash script that installs WordPress, the vulnerable or patched plugin, the canary gadget, enables search statistics, creates users, and verifies the setup.
CVE-2026-16258/seed.sh:1-124Supported by supplied evidence
The provided evidence describes an unauthenticated PHP Object Injection in Ajax Search Lite < 4.14.5, matching the CVE description. The PoC and verification report confirm successful exploitation on the vulnerable version and inert behavior on the patched version.
CVE-2026-16258/README.md:1-82CVE-2026-16258/poc_verification_report.md:1-27CVE-2026-16258/poc/poc.py:1-141CVE-2026-16258/README.md:24-26CVE-2026-16258/README.md:27-28CVE-2026-16258/README.md:42-43CVE-2026-16258/README.md:46-47CVE-2026-16258/README.md:47CVE-2026-16258/README.md:50-51CVE-2026-16258/README.md:49-54All visible behavior is directed at the contained lab target. The PoC writes a marker file inside the web container and reads it back via docker exec, which is the expected demonstration of the vulnerability. No host escape, external connections, persistence, or credential theft is observed.
CVE-2026-16258/poc/poc.py:80-90CVE-2026-16258/poc/poc.py:100-120This 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