Dockerfile
Uses python:3.13-slim, copies the source into /usr/src/dheater, installs the package with pip, switches to user nobody, and sets the entrypoint to 'dheat' with default '--help'.
Dockerfile:1-14CVE-2002-20001 has a selected CVSS score of 7.5 (high); EIP currently links 3 repository PoCs and 2 lab environments.
The Diffie-Hellman Key Agreement Protocol allows remote attackers (from the client side) to send arbitrary numbers that are actually not public keys, and trigger expensive server-side DHE modular-exponentiation calculations, aka a D(HE)at or D(HE)ater attack. The client needs very little CPU resources and network bandwidth. The attack may be more disruptive in cases where a client can require a server to select its largest supported key size. The basic attack scenario is that the client must claim that it can only communicate with DHE, and the server must be configured to allow DHE.
A single Dockerfile builds a container for D(HE)ater, a proof-of-concept denial-of-service tool that enforces Diffie-Hellman key exchange against TLS/SSH servers. The container runs as 'nobody' and executes the 'dheat' command.
Dockerfile:1-14The repository explicitly describes itself as a proof-of-concept implementation of the D(HE)at attack (CVE-2002-20001), a denial-of-service vulnerability. The Dockerfile packages this tool, and the README, CHANGELOG, and other documentation confirm its purpose for defensive testing and research.
README.md:1-10CHANGELOG.md:1-5CITATION.cff:1-10Uses python:3.13-slim, copies the source into /usr/src/dheater, installs the package with pip, switches to user nobody, and sets the entrypoint to 'dheat' with default '--help'.
Dockerfile:1-14Contains the main attack script (dheater/__main__.py) that performs pre-checks, enforces DHE/ECDHE key exchange over TLS or SSH, and manages threads. Also includes a helper to set private key size in DH parameter files.
dheater/__main__.py:1-760dheater/dh_param_priv_key_size_setter.py:1-56pyproject.toml:48-50A collection of PEM-encoded DH parameter files (ffdhe and modp groups) in various key sizes, used by the tool to forge ephemeral keys.
data/dhparam-ffdhe-2048.pem:1-8data/dhparam-modp-2048.pem:1-8Fail2Ban configuration files for Apache and Dovecot to detect SSL/TLS handshake interruptions caused by the attack.
fail2ban/apache-ssl.conf:1-13fail2ban/dovecot-ssl.conf:1-16GitLab CI configuration runs linting, unit tests, and builds/pushes the Docker image to Docker Hub with a description referencing CVE-2002-20001.
.gitlab-ci.yml:1-54Supported by supplied evidence
The entire repository is dedicated to demonstrating CVE-2002-20001. The README, CHANGELOG, CITATION.cff, pyproject.toml, and CI configuration all explicitly associate the tool with this CVE.
README.md:1-10CHANGELOG.md:1-5CITATION.cff:1-10pyproject.toml:7.gitlab-ci.yml:50pyproject.toml:18dheater/__main__.py:1-760README.md:27-33Dockerfile:1-14README.md:27-33dheater/__main__.py:1-760The Dockerfile builds a tool explicitly designed to attack external TLS/SSH servers. It does not contain any instructions that target the Docker host, escape the container, persist data, steal credentials, or connect to external systems beyond the user-specified target. The container runs as 'nobody' and the entrypoint is the attack tool itself. All behavior is consistent with a vulnerability research lab.
Dockerfile:1-14dheater/__main__.py:1-760This 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.
A single Dockerfile that builds a Python 3.13-slim image containing the D(HE)ater tool, a proof-of-concept for the D(HE)at denial-of-service attack (CVE-2002-20001). The image runs as 'nobody' and executes the 'dheat' command by default.
Dockerfile:1-14The Dockerfile packages a tool explicitly described as a proof-of-concept for CVE-2002-20001, a denial-of-service attack. The README, CHANGELOG, and other documentation consistently frame the project as a vulnerability research and testing tool.
Dockerfile:1-14README.md:1-10CHANGELOG.md:1-5A Python command-line tool that enforces Diffie-Hellman ephemeral (DHE) or elliptic-curve Diffie-Hellman ephemeral (ECDHE) key exchange against TLS and SSH services to saturate server CPU. It uses CryptoLyzer for protocol analysis and traffic generation.
README.md:1-10dheater/__main__.py:1-759A helper tool that reads a DH parameter file and sets or removes the suggested private key size, outputting the modified PEM.
dheater/dh_param_priv_key_size_setter.py:1-55Fail2Ban filter configuration files for Apache and Dovecot SSL/TLS handshake interruptions, likely intended to help detect or mitigate the D(HE)at attack.
fail2ban/apache-ssl.conf:1-13fail2ban/dovecot-ssl.conf:1-16Supported by supplied evidence
The project is explicitly described as the proof-of-concept implementation of the D(HE)at attack (CVE-2002-20001) in multiple files, including README, CHANGELOG, CITATION.cff, and the CI configuration.
README.md:1-10CHANGELOG.md:1-5CITATION.cff:1-10.gitlab-ci.yml:1-63README.md:1-10pyproject.toml:1-65README.md:1-10dheater/__main__.py:1-759Dockerfile:1-14README.md:1-10dheater/__main__.py:1-759dheater/__main__.py:1-759The Dockerfile builds a known vulnerability PoC tool and runs it as a non-root user. The tool's behavior is directed at a user-specified target service, which is the intended lab exercise. There is no evidence of hidden host compromise, credential theft, data destruction, or external backdoor behavior.
Dockerfile:1-14dheater/__main__.py:1-759This 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.