glassfish
Runs omnifish/glassfish:7.0.15 with admin console ports 8080 and 4848 bound to localhost. The container is configured with an extra_hosts entry to allow it to reach the host's XML server for the exploit exercise.
docker-compose.lab.yml:2-9File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
A Python-based validator that checks for CVE-2026-2587, an Expression Language (EL) injection vulnerability in Eclipse GlassFish. It sends benign arithmetic EL probes (e.g., #{7*7}) via the gadget handler and checks if the server evaluates them, confirming exposure without executing malicious commands.
No backdoor observed in reviewed code
The supplied evidence consists of a Python script (CVE-2026-2587-Exploit-POC.py) and its README.md. The script is a proof-of-concept validator for CVE-2026-2587, a GlassFish EL injection vulnerability. It hosts benign XML canaries, sends authenticated requests to the GlassFish admin console gadget handler, and checks whether EL expressions are evaluated server-side. The code performs only the described vulnerability validation: it serves XML, makes HTTP requests, and classifies responses. No backdoor, concealed payload, persistence mechanism, credential exfiltration, or unrelated remote access behavior is present. The script's behavior is fully consistent with its stated purpose as a security testing tool.
The artifact's primary operation is to detect and validate the presence of CVE-2026-2587 by sending benign probes and checking for EL evaluation. It does not execute arbitrary commands, establish reverse shells, or perform any post-exploitation actions. The README explicitly states it performs 'benign EL evaluation only — no command execution, no reverse shell, no file upload, no persistence'.
README.md:885CVE-2026-2587-Exploit-POC.py:1-5CVE-2026-2587-Exploit-POC.py:15-16CVE-2026-2587-Exploit-POC.py:20-24CVE-2026-2587-Exploit-POC.py:730-737CVE-2026-2587-Exploit-POC.py:666-704CVE-2026-2587-Exploit-POC.py:682-704CVE-2026-2587-Exploit-POC.py:402-473CVE-2026-2587-Exploit-POC.py:250-295CVE-2026-2587-Exploit-POC.py:730-737CVE-2026-2587-Exploit-POC.py:330-348CVE-2026-2587-Exploit-POC.py:351-399CVE-2026-2587-Exploit-POC.py:1080-1093This 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 that runs a single GlassFish 7.0.15 container for validating CVE-2026-2587, an EL injection vulnerability in the admin console gadget handler.
docker-compose.lab.yml:1-10README.md:1-5The README explicitly describes the repository as a 'Safe PoC validator for CVE-2026-2587' and provides a Docker Compose file to bring up a GlassFish instance for testing. The script performs benign EL injection probes to confirm the vulnerability.
README.md:1-5docker-compose.lab.yml:1-10Runs omnifish/glassfish:7.0.15 with admin console ports 8080 and 4848 bound to localhost. The container is configured with an extra_hosts entry to allow it to reach the host's XML server for the exploit exercise.
docker-compose.lab.yml:2-9A Python script that serves a benign XML probe, authenticates to the GlassFish admin console, and triggers the gadget.jsf endpoint to test for EL injection. It performs only arithmetic and string canary evaluations, not command execution.
CVE-2026-2587-Exploit-POC.py:1-5README.md:1-5Supported by supplied evidence
The entire repository is dedicated to validating CVE-2026-2587. The README, script, and Docker Compose file all reference this CVE, and the script's behavior (sending EL expressions to the gadget endpoint) directly targets the described vulnerability.
README.md:1-5CVE-2026-2587-Exploit-POC.py:1-5docker-compose.lab.yml:1-10README.md:1README.md:1README.md:1README.md:1README.md:1README.md:1README.md:1The script performs only benign EL canary evaluations (arithmetic and string operations) against the lab's own GlassFish container. It does not execute commands, open reverse shells, exfiltrate data, or interact with systems outside the lab. The Docker Compose file binds ports to localhost and does not use privileged mode or mount sensitive host paths.
CVE-2026-2587-Exploit-POC.py:1-5docker-compose.lab.yml:1-10This 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.