취약점 안내
- 일자 : 2009. 09. 22
- 내용 : _zb_path, dir 변수에 대해 웹쉘 없이 직접 서버내 파일을 실행 할 수 있는 취약점 발생보고 : 한국 인터넷 진흥원 (http://www.kisa.or.kr)
- 대상 : 제로보드4 모든 버전
- 비고 : php5.2 이상에서만 발생하는 취약점과 php 버전 상관없이 발생하는 취약점
취약점 보완
- 패치 파일 적용 : 첨부된 patch.2009.02.22.zip 파일의 압축을 풀고 덮어쓰기
- 패치 적용 : 첨부된 zb4.20090922.patch 파일의 patch 명령어를 이용한 적용
- 직접 수정
- 대상 파일
- _head.php
- skin/zero_vote/ask_password.php
- skin/zero_vote/error.php
- skin/zero_vote/login.php
- skin/zero_vote/setup.php
- 수정 내용
- _head.php
[수정전]
if(eregi(":\/\/",$_zb_path)||eregi("\.\.",$_zb_path)) $_zb_path ="./";
[수정후]
if(eregi(":\/\/",$_zb_path)||eregi("\.\.",$_zb_path)||eregi("^\/",$_zb_path)||eregi("data:;",$_zb_path)) $_zb_path ="./";
- skin/zero_vote/ 파일들
[수정전]
if(eregi(":\/\/",$dir)||eregi("\.\.",$dir)) $dir ="./";
[수정후]
if(eregi(":\/\/",$dir)||eregi("\.\.",$dir)||eregi("^\/",$dir)||eregi("data:;",$dir)) $dir ="./";
이 취약점은 매우 위험한 취약점으로 꼭 패치를 해주세요.