CVE-2022-22965 분석
CVE-2018-13379
FortiOS SSL VPN 웹 포털에서의 Path Traversal 취약점이다.
공격자가 변조된 HTTP Request를 보내게 되면 FortiOS 내의 파일들을 다운로드 할 수 있다.
취약점 설명
취약점이 발생되는 코드를 보면 lang
매개변수를 통해 해당 파일의 경로를 만들어 주는 것을 볼 수 있다.
1
snprintf(s, 0x40, "/migadmin/lang/%s.json", lang);
JSON 파일 만을 사용할 수 있는 것처럼 보이지만, snprintf
를 악용할 수 있다.
snprintf()
함수는 배열 버퍼 문자와 값의 형식을 지정하고 저장한다. 버퍼에 NULL 바이트를 포함한 최대 크기의 바이트를 저장한다.
따라서 버퍼 크기를 초과하게 되면 뒤의 .json
을 truncate 할 수 있다. 이 부분을 이용해서 적절하게 Request를 조작하면 해당 시스템의 파일을 유출시킬 수 있다.
Affected Product
- FortiOS 6.0 - 6.0.0 to 6.0.4
- FortiOS 5.6 - 5.6.3 to 5.6.7
- FortiOS 5.4 - 5.4.6 to 5.4.12
Reference
This post is licensed under CC BY 4.0 by the author.