Dockerfile
Defines an Ubuntu 22.04 image with OpenJDK 17, Maven, MariaDB server, copies the application source and start script, builds the app with Maven, exposes port 8080, and runs start.sh.
Dockerfile:1-25File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
The artifact is a fully functional web application that demonstrates a second-order SQL injection vulnerability (CVE-2026-0603) in Hibernate ORM. It provides a Dockerized environment and step-by-step instructions to register a user with a malicious username containing an SQL payload, then trigger a bulk update or delete operation that affects all records in the database, not just the attacker's own.
No backdoor observed in reviewed code
The repository contains a proof-of-concept (PoC) for CVE-2026-0603, a second-order SQL injection in Hibernate ORM. All reviewed source files (Java entities, DTOs, a Spring Boot application, a shell startup script, and a frontend HTML page) implement a simple user management demo with no concealed executable behavior, no persistence mechanisms beyond the demo's own database, and no unrelated remote access or credential theft. The README describes the vulnerability and provides reproduction steps. No backdoor or trojan behavior is observed.
The artifact includes a complete, runnable application and explicit instructions to perform actions that result in unauthorized mass data modification or deletion. This constitutes exploit code because it is designed to exercise the vulnerability and cause a harmful outcome (mass deletion/modification) beyond mere detection.
README.md:3README.md:38-53README.md:31-34README.md:58-59README.md:42-44app/src/main/resources/static/index.html:324-333app/src/main/java/com/example/lab/domain/User.java:15-17README.md:46-53app/src/main/resources/static/index.html:310-312app/src/main/resources/static/index.html:364-378README.md:1-65app/src/main/resources/static/index.html:225-400app/src/main/java/com/example/lab/domain/User.java:1-40start.sh:1-16This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.
A Dockerized Spring Boot web application (member management system) using Hibernate ORM 5.6.15 and MariaDB, designed as a vulnerability lab for CVE-2026-0603.
README.md:1-3Dockerfile:1-25The README explicitly states it is a PoC for CVE-2026-0603, a Hibernate ORM second-order SQL injection. The code includes intentionally vulnerable bulk delete/update operations and configuration enabling the vulnerable InlineIdsOrClauseBulkIdStrategy.
README.md:1-3app/src/main/resources/application.yml:17-18app/src/main/java/com/example/lab/repo/UserRepository.java:14-27Defines an Ubuntu 22.04 image with OpenJDK 17, Maven, MariaDB server, copies the application source and start script, builds the app with Maven, exposes port 8080, and runs start.sh.
Dockerfile:1-25Starts MariaDB, creates a 'lab' database and user, then runs the Spring Boot JAR.
start.sh:1-16A Spring Boot 2.7.18 application with Hibernate 5.6.15. Provides REST endpoints for user registration, listing, deletion, and email/department update. Uses JPA joined inheritance (User/UserProfile) and bulk operations vulnerable to second-order SQL injection.
app/pom.xml:1-61app/src/main/java/com/example/lab/web/UserController.java:1-56app/src/main/java/com/example/lab/repo/UserRepository.java:1-29A single-page HTML/JS frontend for the member management system. Allows user registration, viewing, editing, and deletion. Uses sessionStorage to track the current user and provides buttons to trigger the vulnerable update/delete operations.
app/src/main/resources/static/index.html:1-402Configures the MariaDB datasource, JPA with create-drop DDL, and explicitly sets the Hibernate bulk_id_strategy to InlineIdsOrClauseBulkIdStrategy, which is required for the CVE-2026-0603 vulnerability.
app/src/main/resources/application.yml:1-25Supported by supplied evidence
The README describes CVE-2026-0603 as a second-order SQL injection in Hibernate ORM bulk operations. The code includes a vulnerable Hibernate version (5.6.15), the required InlineIdsOrClauseBulkIdStrategy configuration, and bulk delete/update repository methods that operate on user-supplied primary keys without sanitization, matching the described vulnerability.
README.md:1-65app/pom.xml:18-19app/src/main/resources/application.yml:17-18app/src/main/java/com/example/lab/repo/UserRepository.java:14-27README.md:30-33README.md:30-33app/src/main/resources/application.yml:17-18README.md:38-40README.md:42-43README.md:46-49All visible behavior is confined to the containerized lab environment. The application only listens on port 8080, connects to a local MariaDB instance, and performs expected CRUD operations. There is no evidence of host escape, external network connections, persistence outside the container, credential theft, or destructive behavior beyond the intended lab target.
Dockerfile:1-25start.sh:1-16app/src/main/resources/application.yml:5-8This 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.