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
-
하얀
2009.04.16 11:41
-
뮤랑이
2009.04.16 11:46
적용하고 싶어도.. 호스팅이... (유프리) -
지B
2009.04.16 12:08
프리서버가 말썽이죠..
-
miso777
2009.04.16 12:23
수고 많으십니다.감사합니다. -
Airif
2009.04.16 12:31
패치 완료~ 감사합니다
근데 본글에서 브라우져창 제목이 이상하게 나오네요~( #3#3 이렇게.. ) IE7 이구요~ 파폭에서는 잘 보이네요..
전에 플레시가 들어간 페이지에서 이런 증상이 있었는데....
-
yank
2009.04.16 12:34
감사합니다~ -
불패의초인
2009.04.16 13:24
워우~ 만약 바이러스 걸렸다면 호스팅 업체에서 막 머라 했을텐데 .......ㅎ 멋진 패치네요 ㅎ
수고 많으셨어요~^^
-
neotec
2009.04.16 14:01
감사합니다.
-
성수환
2009.04.16 14:15
패치하겠습니다 ^^
감사합니다~
-
이승우808
2009.04.16 14:38
패치 완료 !!
감사합니다. 수고하셨습니다;)
-
밭짝이
2009.04.16 14:50
감사합니다
늘 고맙습니다 좋은 시간되십시요
-
bncPlan
2009.04.16 15:03
늘 고맙고, 감사합니다
-
왕초보입니다
2009.04.16 15:18
xe 1.2.1 버전 사용하는 유저인데요;; 그냥 그경로에 덮어 씌우면 되는거죠?
감사합니다~
-
왕초보입니다
2009.04.16 15:18
xe 1.2.1 버전 사용하는 유저인데요;; 그냥 그경로에 덮어 씌우면 되는거죠?
감사합니다~
-
가을단풍
2009.04.16 15:56
트렁크에는 아직 적용 안되었나봐요... -
갈기머리
2009.04.16 17:04
적용했습니다. 감사합니다 ^^
-
NineTail
2009.04.16 17:42
어서어서 적용해야겠습니다..; -
dukecherry
2009.04.16 18:05
1.1.5 버전에도 적용되는건가요? 맥에서 filezilla로 다운받아, bbedit 로 편집후, 다시 올렸습니다. 해당 홈페이지로 로그인후, 임의의 게시판을 연후에, '쓰기'버튼을 누르니, 해당페이지가 없다는 블랭크 페이지가 떠버립니다. 그래서, 다시 1.1.5 버전을 다운받아, 해당파일을 다시 업로드 하니, 정상으로 돌아왔습니다. 제가 사용하고 있는 1.2.1 을 사용하는 사이트에는 별이상 없이 잘 됩니다. ('쓰기'버튼을 눌렀을때, 화면이 약간 늦게 뜨는듯..) (1.1.5 버전으로 만들어진 사이트는, 해당 파일에, 올려주신 코드만 삽입했습니다.) -
zero
2009.04.16 18:08
주석 제외 한 줄만 넣어주면 버전에 상관없습니다.
파일 덮어쓰시면 안되구요.
-
RainSky
2009.04.16 23:49
고맙습니다. 바로 적용했습니다. ^0^
-
hUmaN
2009.04.17 01:12
이슈트래킹을 해야하나 말아야하나, 고민했었는데, 패치가되엇군요, 다행이네요`-`
-
ㅇㅅㅇ
2009.04.17 01:42
1.1.5 인데요.
file.controller.php 수정해서 업로드하면은 , 글쓰고 올릴때 페이지오류뜹니다.
그런데 다시 그 게시판 가서 보면은 글이 잘 올라가있습니다.
또 그 글을 삭제하려고하면 잘못된 문서라고 나옵니다 -_-;
이거 도대체 어떻게 해야되는지요.
호스팅사에서도 안도와주는데 씨알 ㅠㅠㅠㅠ
-
ㅇㅅㅇ
2009.04.17 02:13
TAP 중요하군요 -ㅁ- 띄기를 잘못해서 그런거... 잘됩니다 감사합니다. -
졸다보니종점
2009.04.17 03:59
에거 띄기를 이리 저리 해봐도 결국 해결못해서 삽입한 소스를 지우고 원상태로 돌려놓았는데
증상은 여전히 그대로네요 ㅠㅠ
-
졸다보니종점
2009.04.17 02:50
저도 같은 증상이 윗분 어케 해결하셨어요?
-
공듀
2009.04.17 09:14
워 저는 사용하는데 문제는 없지만 새로운버전 나오면 그때 적용해야겠군요.ㅎㅎㅎ
뭐 아직 게시판만 만들어서 개인적으로 이용하고있으니.ㅎㅎ
수고많으셨어요.
-
aeolus
2009.04.17 19:10
잘 읽었습니다.
-
멀대네
2009.04.18 13:07
패치를 시키고 그림파일 6메가 짜리를 올리니깐 홈이 하얗게 변해 버리고 아무것도 열리질 않는 현상이 발생하네요.
-
hUmaN
2009.04.19 10:42
리사이징하는 메모리 문제네요, 이건 어쩔수 없던듯.... 저는 파일을 찾아서 직접 삭제로 해결..
-
때린데 또때려
2009.04.21 20:07
패치 했습니다. 감사합니다 -
Min_UnKnown
2009.04.24 02:43
혹시 (php|phtm|htm|cgi|pl|exe|jsp|asp|inc) 가 확장자 일때 자동으로 삭제하는 건가요 '-'???
exe 파일을 업로드 하는경우가 잇다보니 궁금해서 질문을 ....
-
clickin
2009.04.26 15:12
ver1.1.5 를 사용하여 사이트 2개를 만들었는데요.
위 내용으로 하고. 레이아웃 편집에서. [내용 직접 추가] 를 했을 때.
나타나는 팝업창이 한사이트는 흰색바탕으로 작게 나오고. 또한사이트는 아래와 같은 오류메세지가 뜹니다.
참고로 두 사이트 서버 사양은 다릅니다.
두사이트 모두 mireene.com 에서 웹호스팅했고.
하나는 개인용이라 작은 웹호스팅이고. 하나는 비지니스용 10G 웹호스팅입니다.
Warning: Cannot modify header information - headers already sent by (output started at /web/home/click2009/html/xe/modules/file/file.controller.php:1) in /web/home/click2009/html/xe/classes/display/DisplayHandler.class.php on line 312
Warning: Cannot modify header information - headers already sent by (output started at /web/home/click2009/html/xe/modules/file/file.controller.php:1) in /web/home/click2009/html/xe/classes/display/DisplayHandler.class.php on line 334
Warning: Cannot modify header information - headers already sent by (output started at /web/home/click2009/html/xe/modules/file/file.controller.php:1) in /web/home/click2009/html/xe/classes/display/DisplayHandler.class.php on line 335 -
kki073
2009.04.28 00:37
뭔지는 잘 모르겠지만 패치했어요.감사합니다.
-
꾸로
2009.04.28 17:06
파일 수정을 통해서 패치를 해봤는데,
방명록 주소를 찾아가지 못하고 오류가 나더군요.
방명록 주소는 이것인데
http://gguro.com/zbxe/?mid=Guest
지금은 패치하기 전으로 돌려놓은 상태입니다.
-
상림
2009.05.08 14:45
관리자 모드에서 setting으로 안들어 갑니다.
무조건 첫화면으로만 가요.
페이지 수정도 안되고요..
-
ㅠㅠ
2009.05.15 19:28
관리자 모드에서 setting으로 안들어 갑니다.
무조건 첫화면으로만 가요.
페이지 수정도 안되고요..
마도 마찬가지입니다... 일주일째... 찾고 있음...
-
왕초보입니다
2009.05.16 13:50
" 상림 , ㅠㅠ "
setting기본url변경하셨내요 http://loveu1004ss.woweb.net/ 뒷부분에 xe를 지우시면 안되던데요;;
setting으로 가셔서 변경하실때 첫페이지로 갈껍니다. 그럴 경우 예) http://loveu1004ss.woweb.net/poto_3 주소창에 이렇게 나와있을꺼에요 xe없이 오른쪽처럼xe를 삽입하면 setting으로들어가실수 있어요 거기서 xe를 꼭 삽입하세요; http://loveu1004ss.woweb.net/xe/poto_3
-
상자이야기
2009.05.19 07:14
그나 저나... 후아 이거 패치와 기타공격 이거 머리싸움인건 알겠는데..
프리서버사용자는 아무래도 패치 해야 겠죠 ?::::::OMG
그래도 왠지 즐거운... 기분.
예전에 핵커스 란 사이트 정부에서 폐쇄할때 정말 못난짓이라고 생각했는데.... 역시나 맞았음.
요즘 이제서야. 핵커 대회나 여는모습보면... 참 정부공무원 왜이리 무능한지..... 그러고 보면 이건 이것과 전혀 관련없는 이야기지만
해커스 사이트는.. 한 6년이 앞서 있었던듯. ㅋㅋㅋㅋㅋ
수고많으셨습니다 . 1.2.2 버전 개인적으로 기다려집니다.