엊그제 제로보드 4.1pl9 버전에서 새로 발견된 취약점 패치가 공지되었습니다. _zb_path, dir 변수를 이용하여 웹쉘 없이 직접 서버 내의 파일을 실행할 수 있는 취약점입니다. 원문은 [수정#1] 2009.09.22 보안 취약점 패치 글을 참조하시기 바랍니다.

공식 사이트에서 공지된 바와 같이 패치 압축 파일을 그대로 덮어씌우거나, 아래처럼 직접 수정하시면 되겠습니다.

대상 파일

  1. _head.php
  2. skin/zero_vote/ask_password.php
  3. skin/zero_vote/error.php
  4. skin/zero_vote/login.php
  5. skin/zero_vote/setup.php

수정 내용

  1. _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 ="./";
  2. skin/zero_vote/ 파일들
    [수정전]
    if(eregi(":\/\/",$dir)||eregi("\.\.",$dir)) $dir ="./";
    [수정후]
    if(eregi(":\/\/",$dir)||eregi("\.\.",$dir)||eregi("^\/",$dir)||eregi("data:;",$dir)) $dir ="./";

관제하시는 분들은 이와 관련해서 웹 로그 모니터링을 강화하셔야 되겠습니다. 제로보드는 단일 응용 프로그램으로는 가장 많이 공격당하는 프로그램으로 꼽힐 정도로 공격이 빈번하므로 반드시 패치하시기 바랍니다. (The Top Cyber Security Risks 참조)