안녕하세요.

지난 11월 1일 패치한 현재 접속자 체크 부분의 $REMOTE_ADDR 접속을 막은 후 이를 다시 우회하는 취약점을 "패스 코리아넷의 빈경윤님"께서 알려주셔서 급히 패치를 하게 되었습니다.

lib.php 파일을 수정하지 않고 사용하시는 분은 lib.php , member_memo3.php
파일을 사용하시는 제로보드의 디렉토리에 덮어써주시면 됩니다.

수정하여 쓰시는 분은 다음과 같이 해주세요.

아래 파일을 에디터등으로 여셔서 아래와 같은 부분을 변경해 주세요.

1. lib.php 파일 : function getNowConnector($filename,$div) 부분에 붉은색 코드를 추가

   원본 : $_str = str_replace("<?/*","",$_str);

   수정 : $_str = str_replace("<? die('Access Denied');/*","",$_str);

   =======================================================================================

   원본 : zWriteFile($filename, "<? /*".$_realNowConnector."*/?>");

   수정 : zWriteFile($filename, "<? die('Access Denied');/*".$_realNowConnector."*/?>");


2. lib.php 파일 : function getNowConnector_num($filename, $div) 부분에 붉은색 코드를 추가

   원본 : $_str = str_replace("<?/*","",$_str);

   수정 : $_str = str_replace("<? die('Access Denied');/*","",$_str);

   =======================================================================================

   원본 : zWriteFile($filename, "<? /*".$_realNowConnector."*/?>");

   수정 : zWriteFile($filename, "<? die('Access Denied');/*".$_realNowConnector."*/?>");


3. member_memo3.php 파일 : 아래 부분을 수정 (30번째 줄 근처)

   원본 : $_str = str_replace("<?/*","",$_str);

   수정 : $_str = str_replace("<? die('Access Denied');/*","",$_str); 


4. lib.php 파일 : function makeZBSessionID($no) 함수 중간에 붉은색 코드를 추가

     function makeZBSessionID($no) {
        global $HTTP_COOKIE_VARS, $_zb_path, $_zbDefaultSetup;
        $no = (int)$no;

        $zbSessionID = md5($no."-^A-".time());

        $newStr = "<?/*\n$no\n".time()."\n*/?>";

        zWriteFile($_zb_path.$_zbDefaultSetup[session_path]."/zbSessionID_".$zbSessionID.".php", $newStr);

        @setcookie("ZBSESSIONID", $zbSessionID, time()+60*60*24*365, "/");
    }


위 1, 2, 3번은 빈경유님께서 알려주신 부분입니다.

매우 감사합니다. ^^

그리고 4번의 경우는 혹시 생길 취약점을 대비하여 $no의 값을 int 형으로 강제 형변환을 시키는 부분입니다.



제로보드4의 경우 php3 때부터 만들어진 코드이고 php가 발전되고 편의성을 위해 추가된 기능들에 대한 대비가 모자랍니다.

꼭 패치를 해주세요.

최대한 빠른 시간 내에 zbxe의 안정화 및 마이그레이션 툴의 강화를 거쳐 이전 하시는데 어려움이 없도록 하겠습니다.

감사합니다.