
CVE-2022-30114에 대한 개념 증명 익스플로잇으로, Fastweb FastGate 라우터의 힙 기반 버퍼 오버플로우 취약점입니다. 조작된 HTTP Authorization 헤더를 전송하여 cmproxy FastCGI 서비스를 통해 원격 서비스 거부(DoS)를 유발합니다.
이 스크립트는 CVE-2022-30114의 개념 증명(PoC)이며, Fastweb FastGate 가정용 라우터(GPON 및 VDSL2 버전)를 재부팅시킵니다.
CVE-2022-30114는 'cmproxy' 실행 파일의 힙(heap) 기반 버퍼 오버플로우입니다. 이 프로그램은 TCP 포트 8888에서 수신 대기하는 Lighttpd FastCGI 웹서버를 통해 HTTP 요청을 처리합니다. 특수하게 조작된 HTTP 요청을 통해 원격 공격자가 실행 파일을 충돌시키고 장치를 재부팅하여 서비스 거부(DoS)를 유발할 수 있습니다.
이 장치는 TCP 포트 8888에 노출된 웹 서비스에서 'Authorization' HTTP 헤더 값의 길이 검증 부재로 인해 발생하는 힙 기반 버퍼 오버플로우에 취약합니다. 이 서비스는 장치의 WAN 및 LAN 인터페이스 모두에 노출됩니다1.
원격의 인증되지 않은 공격자가 'Authorization' HTTP 헤더에 100바이트를 초과하는 문자열을 전송하면, FastCGI 프로토콜을 통해 위에서 언급한 서비스로 전송된 HTTP 요청을 처리하는 'cmproxy' 실행 파일의 '.bss' 메모리 섹션에 미리 할당된 버퍼에서 오버플로우가 발생합니다.
이를 통해 프로세스의 힙 메모리를 덮어쓸 수 있으며, 프로세스가 손상되어 첫 번째 메모리 할당 시 충돌합니다. 사용된 C 라이브러리 버전(GNU C Library - glibc v2.24)에는 힙 손상을 감지하는 보호 조치가 포함되어 있지만, 분석을 심화하면 힙 구조를 덮어쓰고 코드 실행을 달성할 가능성이 배제되지는 않는다는 점에 주목할 필요가 있습니다.
자세한 내용은 블로그 게시물을 참조하세요.
WAN 접근은 Fastweb에 최초 공개된 후 보상 통제 조치로 비활성화되었습니다. 현재 작성 시점에서 이 서비스는 내부 LAN에 여전히 노출되어 있습니다. ↩