Blog
XE 긴급 보안 패치 (모든 버전에 해당)
2009.04.16 11:12
XpressEngine 모든 버전의 보안 취약점이 발견되었습니다.
모든 상황에서 발생하는 것은 아니고 특정 웹서버 설정에 의해서 발생되는 문제입니다.
보안 취약점을 꼼꼼히 테스트 후 제보해주신 http://Simples.Kr (심플스)의 운영자이신 박병익(esniper)님께 감사의 말씀을 드립니다.
먼저 모든 버전에 해당되고 또한 간단히 패치할 수 있는 문제이기에 패치방법부터 알려드립니다.
해당 파일 : ./modules/file/file.controller.php
method : FileController::insertFile()
원 파일 내용
// 이미지인지 기타 파일인지 체크하여 upload path 지정 if(preg_match("/\.(jpg|jpeg|gif|png|wmv|wma|mpg|mpeg|avi|swf|flv|mp1|mp2|mp3|asaf|wav|asx|mid|midi|asf|mov|moov|qt|rm|ram|ra|rmm|m4v)$/i", $file_info['name'])) { $path = sprintf("./files/attach/images/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3)); $filename = $path.$file_info['name']; $direct_download = 'Y'; } else {
패치 적용 후
// 이미지인지 기타 파일인지 체크하여 upload path 지정 if(preg_match("/\.(jpg|jpeg|gif|png|wmv|wma|mpg|mpeg|avi|swf|flv|mp1|mp2|mp3|asaf|wav|asx|mid|midi|asf|mov|moov|qt|rm|ram|ra|rmm|m4v)$/i", $file_info['name'])) { // direct 파일에 해킹을 의심할 수 있는 확장자가 포함되어 있으면 바로 삭제함 $file_info['name'] = preg_replace('/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i', '$0-x',$file_info['name']); $path = sprintf("./files/attach/images/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3)); $filename = $path.$file_info['name']; $direct_download = 'Y'; } else {
즉 ./modules/file/file.controller.php 파일의 310번째 라인(버전에 따라 다를 수 있습니다)의 이미지등의 직접 다운로드 가능 파일을 저장하는 부분에 아래와 같이 확장자 체크를 하는 부분이 포함되어야 합니다.
// direct 파일에 해킹을 의심할 수 있는 확장자가 포함되어 있으면 바로 삭제함
$file_info['name'] = preg_replace('/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i', '$0-x',$file_info['name']);
XpressEngine ver 1.2.1 버전을 사용하시는 분은 file.controller.php 을 다운로드 받으셔서 ./modules/file/ 디렉토리에 덮어쓰시면 되고 그 이전의 버전 사용자분들은 위의 패치 적용 방법을 이용하시면 됩니다.
1.2.1의 안정화 버전인 1.2.2 버전을 최대한 빨리 배포하여 기존 사용자분들께서 불안하지 않은 업그레이드가 가능하도록 노력하겠습니다.
감사합니다.
댓글 38
제목 | 최종 글 | 날짜 |
---|---|---|
공지 XE1 신규 보안 취약점 신고 포상제 종료 안내 | 2019.10.23 | |
공지 [중요!] Object 클래스의 이름 변경 안내(PHP 7.2 버전 호환성) [7] | 2020.08.16 by 천재 | 2017.11.27 |
XE Market 사업 설명회 소개드립니다. [7] [1] | 2012.08.16 by vibram five fingers | 2010.11.19 |
공식사이트 서버 점검 [4] | 2012.08.16 by vibram shoes | 2010.11.16 |
XEED 오픈 베타를 시작합니다. [15] | 2012.08.16 by vibram five fingers | 2010.11.04 |
XE 공식사이트 DB이전 작업 [4] | 2012.08.16 by vibram five fingers | 2010.11.03 |
메일링 서비스 중단 안내. [6] | 2012.08.16 by vibram five fingers | 2010.10.11 |
XE Core 1.4.4 배포. [30] | 2012.08.16 by vibram five fingers | 2010.09.28 |
1.4.4 | 2010.09.28 | |
NHN DeView 2010 [5] | 2012.08.16 by vibram five fingers | 2010.08.24 |
XE Core 1.4.3 배포 [77] | 2012.08.16 by vibram five fingers | 2010.07.06 |
1.4.3 [2] | 2012.08.16 by vibram five fingers | 2010.07.06 |
2010년 하반기 계획 [31] [1] | 2020.03.15 by vibram five fingers | 2010.06.17 |
XE Core 1.4.2.3 (보안 패치) 배포되었습니다. [17] [1] | 2012.08.16 by vibram five fingers | 2010.06.08 |
XE Core 1.4.2.2 패치 배포되었습니다. [25] | 2012.08.16 by vibram five fingers | 2010.05.27 |
1.4.2 [4] | 2012.08.16 by vibram five fingers | 2010.05.17 |
XE 1.4.1.1 보안 패치 배포 [1] | 2012.08.16 by vibram five fingers | 2010.05.06 |
XE Core 1.4.1.0 배포 [18] | 2012.08.16 by vibram five fingers | 2010.04.29 |
1.4.1 | 2010.04.29 | |
1.4.0.11 보안 패치 배포하였습니다. [4] | 2012.08.16 by vibram five fingers | 2010.04.14 |
XE Project 개선 적용하였습니다. [9] | 2012.08.16 by vibram shoes | 2010.04.01 |
빠르고 정확한 검색, Syndication 모듈 배포 [13] | 2012.08.16 by vibram five fingers | 2010.03.05 |