
TOTOLINK a720r 버퍼 오버플로우 취약점에 대한 보안 권고
제조사: TOTOLINK
제조사 웹사이트: TOTOLINK
모델: A720R
펌웨어 버전: V4.1.5cu.630_B20250509
펌웨어 다운로드 주소: TOTOLINK
CVSS v4.0 기본 점수: 9.4 (치명적)
벡터: CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P
cstecgi.cgi 펌웨어 바이너리에 스택 기반 버퍼 오버플로가 존재하며, 이를 통해 인증된 관리자가 프로세스의 제어 흐름을 탈취하고 바이너리 내의 기존 코드 경로를 실행할 수 있습니다. 이 취약점은 setMacFilterRules 핸들러에 desc 매개변수의 지나치게 긴 값을 포함한 조작된 요청을 전송하여 트리거할 수 있으며, 이 값은 경계 검사 없이 strcpy()를 통해 고정 크기 스택 버퍼로 복사되어 저장된 반환 주소를 덮어씁니다.

취약한 코드는 cstecgi.cgi 바이너리 내에 위치하며, 여기서 제공된 desc 값이 길이 검증 없이 스택 버퍼로 복사되어 저장된 반환 주소를 덮어쓰고 프로그램의 제어 흐름을 리다이렉트할 수 있습니다. 바이너리가 스택 카나리와 PIE 없이 컴파일되었기 때문에 오버플로가 탐지되지 않으며, 실행 흐름을 바이너리 내 고정 주소에 위치한 코드로 안정적으로 리다이렉트할 수 있습니다.


저장된 반환 주소를 덮어씀으로써 제어 흐름이 바이너리 내의 기존 함수로 리다이렉트되었습니다. 이는 sleep(2) 호출(기기 응답의 측정 가능한 지연을 통해 명령 포인터의 안정적인 제어를 확인), 시스템 재부팅 루틴, 세션 로그아웃 함수, 그리고 로그 삭제 루틴을 호출함으로써 입증되었습니다.


제어 흐름은 추가로 Telnet 서비스 시작을 담당하는 루틴으로 리다이렉트되어 기기에서 Telnet이 활성화되었습니다.

결과적으로, 대상 기기에 대한 네트워크 접근 권한을 가진 인증된 공격자는 cstecgi.cgi 프로세스의 실행 흐름을 탈취하고 바이너리 내의 임의 코드 경로를 실행할 수 있어, 기기의 기밀성, 무결성 및 가용성을 침해할 수 있습니다.
이 취약점들은 Nicola Giuffrida에 의해 보고되었습니다.