PoC files

14 files

File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.

GitHub

Analysisdeepseek-v4-pro:cloud ·

Technical assessment

The primary artifact is a Python exploit for CVE-2026-28372. It implements a full attack chain that connects to a vulnerable telnetd service, performs Telnet option negotiation, injects the CREDENTIALS_DIRECTORY and USER environment variables via the NEW_ENVIRON option to bypass authentication, and verifies root shell access by executing commands like 'id' and reading '/etc/shadow'.

Backdoor review

No backdoor observed in reviewed code

The PoC for CVE-2026-28372 is a straightforward local privilege escalation exploit against GNU inetutils telnetd. The Python scripts implement the disclosed attack chain—injecting CREDENTIALS_DIRECTORY via Telnet NEW_ENVIRON to bypass authentication—without any concealed, unrelated, or deceptive behavior. All network connections are directed to the operator-specified target, and no data exfiltration, persistence, or secondary payloads are present.

ClassificationExploit
Model confidence100%
AuthenticationNot required
LanguagesPython
Target softwareGNU inetutils telnetdutil-linux login
Attack typesprivilege escalationauthentication bypass
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The file poc/poc.py is explicitly described as a 'Full exploit' and 'PoC' that 'implements the full CVE-2026-28372 attack chain' to 'obtain root shell without password'. Its code actively connects to a service, injects a malicious payload to bypass authentication, and executes commands to verify privilege escalation, which is the definition of an exploit.

CVE-LAB.md:9poc/poc.py:18-37poc/poc.py:327-335

Requirements

  • GNU inetutils telnetd <= 2.7 must be running on the target.poc/poc.py:39
  • util-linux >= 2.40 must be installed as the system's login implementation.poc/poc.py:40
  • An unprivileged local user must create a 'login.noauth' file containing 'yes' in a directory accessible to the target.poc/poc.py:41
  • Network access to the telnetd service is required.poc/poc.py:42

Observed behavior

  • Connects to a target telnetd service on a specified host and port.poc/poc.py:146-155
  • Performs Telnet option negotiation, agreeing to handle options like NEW_ENVIRON.poc/poc.py:257-325
  • When the server requests environment variables via SB NEW_ENVIRON SEND, injects CREDENTIALS_DIRECTORY and USER variables to trigger the authentication bypass.poc/poc.py:242-250
  • After negotiation, sends verification commands ('id', 'whoami', 'head -1 /etc/shadow') to confirm root access.poc/poc.py:403-441
  • Reports success if the output contains 'uid=0(root)' or 'whoami' returns 'root'.poc/poc.py:466-495
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Network Connection
operator-specified target host and portThe exploit connects only to the target host and port provided by the operator via command-line arguments.poc/poc.py:150-152
Exploit Mechanism
CREDENTIALS_DIRECTORY environment variable injection via Telnet NEW_ENVIRONThe core exploit logic injects the CREDENTIALS_DIRECTORY and USER variables into the Telnet session to trigger the authentication bypass in login(1).poc/poc.py:186-213
Verification Command
id, whoami, head -1 /etc/shadowThe exploit sends these commands to the target to verify root access, which is standard for privilege escalation PoCs.poc/poc.py:407-440
Review boundaries

What the analysis did not establish

  • The evidence includes a verification report (poc_verification_report.md) with test output, but the code itself was not executed as part of this analysis.
  • The artifact contains binary or non-text media files (141013 bytes) that were not inspected, as per the evidence packet's binary policy.
  • Binary files (e.g., Docker images, compiled telnetd) are flagged as metadata-only and were not analyzed; their behavior is assumed to match the documented vulnerable configuration.
  • The review is limited to the supplied text evidence and does not verify the actual runtime behavior of the Docker container or the compiled telnetd binary.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.

Docker lab environments

1
GitHub

CVE-2026-28372/docker-compose.yml

Created
Vuln labCVE-2026-28372Compose · mixed

1 Compose manifest · 1 Dockerfile · 1 service

Lab screenshot for CVE-2026-28372/docker-compose.yml
Analysisdeepseek-v4-pro:cloud ·

Environment assessment

A single-container lab running a vulnerable GNU inetutils telnetd v2.7 on Debian Trixie with util-linux login >= 2.40. The container is built from source and exposes telnetd on port 2323. It includes a pre-created credential directory to demonstrate a local privilege escalation vulnerability (CVE-2026-28372).

CVE-2026-28372/docker-compose.yml:1-33CVE-2026-28372/Dockerfile.vulnerable:1-77CVE-2026-28372/README.md:1-254

Lab assessment

Vulnerability lab

The environment is explicitly described as a lab for CVE-2026-28372. It builds a vulnerable version of telnetd, sets up the necessary conditions (util-linux login >= 2.40, a fake credential directory), and provides PoC scripts to demonstrate privilege escalation. The README and other documentation detail the vulnerability, attack chain, and verification steps.

CVE-2026-28372/README.md:1-5CVE-2026-28372/README.md:85-100CVE-2026-28372/docker-compose.yml:1-4
Lab shapeCompose · mixed
Services1
Compose manifests1
Dockerfiles1
Evidence & reasoningComponents · CVE assessment · exercise context · review boundaries
Components

Services and files described by the evidence

vulnerable

vulnerable targettelnetd serverlogin service

A Debian Trixie container running GNU inetutils telnetd v2.7 built from source. It uses a Python mini-inetd wrapper to listen on port 2323 and spawn telnetd for each connection. The container includes util-linux login >= 2.40, a pre-created credential directory at /home/weakuser/fake_cred/login.noauth containing 'yes', and user accounts root and weakuser. It is the target for the CVE-2026-28372 privilege escalation exploit.

CVE-2026-28372/docker-compose.yml:9-30CVE-2026-28372/Dockerfile.vulnerable:1-77CVE-2026-28372/README.md:85-100

mini-inetd.py

inetd replacementconnection dispatcher

A Python script that listens on a TCP port (default 2323) and forks a telnetd process for each incoming connection, passing the socket as file descriptors 0/1/2. It is used to run telnetd in a container without a full inetd daemon.

CVE-2026-28372/mini-inetd.py:1-69CVE-2026-28372/Dockerfile.vulnerable:72-75

poc.py

exploit PoCtelnet client

A standalone Python 3 script that implements the CVE-2026-28372 attack chain. It connects to telnetd, performs Telnet option negotiation, injects CREDENTIALS_DIRECTORY and USER=root via the NEW_ENVIRON option, and verifies root shell access by executing id, whoami, and reading /etc/shadow.

CVE-2026-28372/poc/poc.py:1-556CVE-2026-28372/README.md:120-145

control_test.py

control testtelnet client

A Python script that connects to telnetd without injecting CREDENTIALS_DIRECTORY to prove that authentication is normally required. It verifies that a login prompt is received, confirming the exploit is the causal factor for the bypass.

CVE-2026-28372/poc/control_test.py:1-158CVE-2026-28372/README.md:147-155

verify_lab.py

lab verification script

A Python script that auto-detects the container IP, connects to telnetd, injects the exploit payload, and checks for root access to verify the lab is working correctly.

CVE-2026-28372/verify_lab.py:1-223CVE-2026-28372/README.md:195
CVE assessment

How the supplied evidence relates each vulnerability

CVE-2026-28372

Supported by supplied evidence

The entire lab is built to demonstrate CVE-2026-28372. The Dockerfile builds the vulnerable telnetd v2.7, the README and verification report detail the vulnerability and attack chain, and the PoC scripts implement the exact exploit described. The lab includes the necessary prerequisites (util-linux login >= 2.40, a fake credential directory) and the PoC output confirms root access without a password.

CVE-2026-28372/README.md:1-5CVE-2026-28372/Dockerfile.vulnerable:1-77CVE-2026-28372/poc_verification_report.md:1-195
Exercise context

Requirements and sequence described by the evidence

Prerequisites

  • Docker and Docker Compose installed on the host.CVE-2026-28372/README.md:101-103
  • Python 3 available on the host to run the PoC scripts.CVE-2026-28372/README.md:101-103
  • The container must be built and started, exposing port 2323 on the host.CVE-2026-28372/docker-compose.yml:16-17
  • The attacker (or tester) must have network access to the host's port 2323.CVE-2026-28372/poc/poc.py:1
  • The container must have SYS_ADMIN capability for login/utmp operations.CVE-2026-28372/docker-compose.yml:18-19

Evidence-described exercise path

  1. Build and start the vulnerable container using 'docker compose up -d'.CVE-2026-28372/README.md:101-103
  2. Run the exploit PoC script 'python3 poc/poc.py localhost -p 2323' to inject CREDENTIALS_DIRECTORY and obtain a root shell.CVE-2026-28372/README.md:105-106
  3. Run the control test 'python3 poc/control_test.py localhost 2323' to verify that authentication is normally required without the exploit.CVE-2026-28372/README.md:108-109
  4. Optionally run 'python3 verify_lab.py' to automatically verify the lab is working.CVE-2026-28372/README.md:195
  5. Clean up with 'docker compose down'.CVE-2026-28372/README.md:111-112
Safety-review evidence

Behaviors behind the stored safety assessment

No harmful behavior observed

All visible behavior is directed at the lab's own vulnerable target container. The PoC scripts connect to the local telnetd service inside the container to demonstrate privilege escalation, which is the documented purpose of the lab. There is no evidence of host compromise, external communication, persistence, credential theft, or any action outside the intended exercise. The container runs with SYS_ADMIN capability, which is a documented prerequisite for login/utmp operations and does not by itself indicate malicious intent.

CVE-2026-28372/poc/poc.py:1-556CVE-2026-28372/poc/control_test.py:1-158CVE-2026-28372/verify_lab.py:1-223CVE-2026-28372/docker-compose.yml:18-19
Review boundaries

What the analysis did not establish

  • The packet does not include the full source code of telnetd or login, only the lab's own scripts and documentation.
  • The CVE-2026-28372 identifier is not present in the acquired CVE list, but this is noted as a limitation of the analysis scope, not a contradiction.
  • The README mentions related CVEs (CVE-1999-0073, CVE-2026-24061) that are not part of the unit's selected CVE IDs; these are not assessed.
Model interpretation

This 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.

Linked vulnerabilities

3