국내에서 활용도 높은 웹 에디터 8개, 주요 보안 취약점과 해결방안은?

2022-11-07 16:46
  • 카카오톡
  • 네이버 블로그
  • url
KISA, 중소기업 침해사고 피해지원 서비스 사업 중 <웹 에디터 보안 가이드> 발표
FCKeditor, CKeditor, SmartEditor2.0, GEditor, RainEditor, DaumEditor, TinyMCE Editor, EZEditor 등 8개 대상...최신 업데이트 버전 설치, 업데이트 중단 에디터는 제품별 파일 검사 방식 제안


[보안뉴스 김영명 기자] 웹 에디터(Web Editor)는 인터넷 홈페이지를 전문적인 컴퓨터 언어 프로그래밍의 공부 없이도 손쉽게 제작할 수 있도록 도와주는 홈페이지 전문 저작 도구를 말한다. 홈페이지를 제작하기 위해서는 인터넷 언어인 HTML을 기반으로 작성해야 하는데, 다양한 명령어를 통해 문자와 그림, 동영상 등을 통합해 간편하게 제공하는 웹 에디터의 활용도가 높아지고 있다.


[이미지=utoimage]

한국인터넷진흥원(KISA)은 중소기업 침해사고 피해지원 서비스 사업 수행 중 홈페이지에 기반한 악성코드 유포 및 개인정보 유출, 해킹 경우지 악용 등의 주요 원인이 웹 에디터 프로그램의 취약점으로 확인됨에 따라 이에 대처하기 위한 웹 에디터별 보안 가이드를 발표했다.

이번에 발표한 웹 에디터 목록은 △FCKeditor △CKeditor △SmartEditor2.0 △GEditor △RainEditor △DaumEditor △TinyMCE Editor △EZEditor 등 8개다.

△FCKeditor
먼저, FCKeditor는 CKSource가 자바스크립트 언어로 개발한 웹 에디터이며, FCKeditor에 대한 8개 취약점은 설계상의 결함이기 때문에 최신 버전으로 업데이트가 필요하다.


▲FCKeditor 취약점[이미지=KISA]

FCKeditor의 취약점은 파일 업로드 취약점, XSS 취약점, 파일 노출 및 실행 취약점 등 3개 취약점이 있다. 먼저 ‘파일 업로드 취약점’은 웹셸과 같은 실행파일을 업로드한 후 원격에서 실행시키는 취약점을 의미한다. 대부분 업로드되는 파일에 대한 확장자 검사 과정이 없거나, 우회하기 쉬운 경우 발생한다. 웹 서버별 실행 가능 확장자는 IIS(aps, aspx, cgi, cer), PHP(php, php3, cgi, cer), JAVA(jsp, cer) 등이며, FCKeditor 2.2 버전 이하가 영향을 받는다. 이를 위한 해결 방안은 최신 업데이트 적용, 샘플파일 제거 및 경로 변경, 화이트리스트 기반 확장자 검사, 디렉터리 실행권한 제거, 파일명 랜덤 함수 추가 등이 있다.

‘XSS 취약점’은 원격 공격자가 지정되지 않은 벡터를 통해 임의의 웹 스크립트 또는 html을 삽입해 사용자의 브라우저에 이를 실행시키는 취약점으로, 모든 버전에 영향을 받고 있다. 이를 위한 해결 방안은 입출력값 검증 및 무효화, 보안 라이브러리 사용 등이 있다.

‘파일 노출 및 실행 취약점’은 접근 권한이 없는 디렉토리와 파일의 내용이 노출되거나 외부의 악성 스크립트를 실행하는 취약점으로, FCKeditor 2.6.4 버전 이하에서 영향이 있다. 해결 방안은 사용자 입력값 검증, 파일 접근에 대한 하드코딩, 시스템 하드닝 등이 있다.

△CKeditor
CKeditor는 콘텐츠를 웹 페이지나 온라인 애플리케이션에 직접 작성할 수 있게 하는 위지위그 리치 텍스트 에디터로 CKSource가 개발했다. CKeditor의 취약점은 탭내빙(Tabnabbing) 취약점, XSS 취약점, 우회공격 취약점, 이미지 업로드 취약점 등 4개 취약점이 있다.


▲CKeditor 취약점[이미지=KISA]

탭내빙이란, html 문서 내에서 특정 링크를 클릭했을 때 새롭게 열린 탭에서 기존의 문서인 location을 피싱 사이트로 변경해 정보를 탈취하는 공격 기술이다. 탭내빙 공격은 메일 등 오픈 커뮤니티에서 사용할 수 있다. 탭내빙은 사용자가 페이지에서 아무런 행위를 하지 않아도 사용자의 눈을 피해 열린 탭 중 하나를 피싱 페이지로 로드한다. 이 취약점은 CKEditor 4.5.11 미만 버전에서 영향을 받으며, 대응방안은 html 문서 내 링크 안에 noopener, noreferrer 속성 추가를 권고하면 가능하다. 또한, XSS 취약점은 CKEditor 4 버전 4.16.1로 버전을 업그레이드하는 것이 권고된다.

CKeditor은 html 처리 핵심 모듈에서 우회공격 취약점이 발견됐으며, 4.18.0 이전 버전인 CKEditor 4의 모든 플러그인에 영향을 줄 수 있다. 이 취약성을 통해 콘텐츠 검사를 받지 않고 잘못된 형식의 html을 주입하고 자바스크립트 코드가 실행될 수 있다. 우회공격 취약점에 대한 대응방안은 현재까지 4.18.0 이상 버전으로의 패치 이외에 알려진 것은 없다.

이미지 업로드 취약점은 웹 사이트의 미흡한 설정을 이용해 서버에서 실행 가능한 스크립트 파일을 업로드하고, 직접 시스템 내부명령어 실행 또는 외부 연결로 제어하는 취약점이다. 이 취약점은 이미지 업로드 소스 코드가 미흡한 경우 버전에 관계없이 영향을 받는다. 이 취약점에 대한 대응방안은 CKEditor를 이용하는 웹 사이트마다 서로 다를 수가 있다.

△SmartEditor2.0
네이버 SmartEditor 2.0은 전문화된 글쓰기와 함께 포토 및 동영상 업로드 기능, 주제별 템플릿 및 포스트 레이아웃과 네이버만의 전문 DB 첨부 기능이 더해졌다. 네이버 SmartEditor 2.0의 취약점 유형은 XSS, file_uploader_html5.php의 null byte injection file_uploader.php의 리다이렉트, 사진첨부 샘플의 null byte injection, 파일 업로드 등이 있다. 해당 취약점은 파일 업로드 취약점, XSS 취약점 등이 있다.


▲네이버 SmartEDITOR 2.0 취약점[이미지=KISA]

‘파일 업로드 취약점’은 SmartEditor를 수정 없이 그대로 사용하는 경우 홈페이지 해킹에 의해 홈페이지 변조, DB 정보 유출이나 공격자가 웹셸을 업로드해 시스템에 침투할 수 있어 주의해야 한다. 해당 웹에디터는 SmartEditor2.0 Basic(2.3.3) 및 이전버전에서 영향을 받는다. 대응방안은 샘플파일 제거 및 경로 변경, 업로드 파일 검증 코드 추가 및 수정 등이 있다.

‘XSS 취약점’은 원격 공격자가 지정되지 않은 벡터로 임의의 웹 스크립트 또는 html을 삽입해 사용자 브라우저에서 실행시키는 취약점이다. 이 취약점은 모든 버전에서 영향을 받는다.

해당 취약점의 대응방안으로는 버전 2.8.2.3 이후부터 client-side xss filter라는 기능이 추가됐기 때문에 최신 업데이트를 하면 된다. 다만, 업데이트 적용 후 iframe, embed 등 일부 태그를 제거하고 있는데, 이를 원하지 않으면 소스 코드를 일부 수정하면 된다.

△GEditor
G-Editor는 웹에서 사용할 수 있는 위지윅 에디터 프로그램으로, php 기반 오픈소스 설치형 인터넷 게시판 프로그램이다. G-Editor의 알려진 주요 취약점은 파일 업로드 취약점이 있으며, 영향을 받는 버전은 G-Editor 1.0.0이다.


▲G-Editor 취약점[이미지=KISA]

G-Editor의 업로드 파일 검사는 파일 시그니처만을 근거로 진행해, 시그니처를 조작하면 업로드 검사를 우회할 수 있는 취약점이 있다. 파일 검사는 ‘G-Editor’ 디렉토리 내의 upload.php 내에서 처리되며 getlmageSize() 함수를 통해 추출한 content-trpe 값을 ‘image/pnp’, ‘image/jpeg’, ‘image/gif’와 비교하는 방식으로 검사를 진행한다.

G-Editor는 2007년 11월에 나온 최초 버전인 v1.0.0 이외의 후속 버전이 없어 총 1개 버전이 영향을 받는다. 해당 취약점의 대응방안은 기존 시그니처 기반의 파일 검사 외에 확장자 및 파일명 길이 검사, null-byte 문자열 검사 등 구문을 추가해 기존 검사 방식을 보충했다.

△RainEditor
RainEditor는 2004년 12월에 phpschool이라는 웹사이트에서 1.0 버전으로 공개됐으며, 2008년 3월에 버전 10.0으로 업데이트가 진행된 이후 아직 더 이상 새로운 업데이트는 없다.

RainEditor의 주요 취약점은 파일 업로드 취약점이 있으며, RainEditor 2.0 이하의 버전에 영향을 받게 된다. RainEditor의 업로드 파일 검사는 업로드된 파일의 사이즈만을 검사해 500Kbyte 이하의 파일이면 허용되는 것으로 확인된다. 웹셸은 일반적으로 파일 사이즈가 작기 때문에 공격자는 웹셸을 업로드할 때 제약이 없다.


▲RainEditor 취약점[이미지=KISA]

RainEditor 공격자는 악성 프로그램을 업로드할 때 파일 검사를 우회하기 위해 확장자 조작, 파일 시그니처 변조, Null-Byte 문자열 사용과 다중 확장자 사용 등의 기법을 사용한다. 따라서 이러한 우회 기법에 대응하기 위한 구문을 추가해 파일 검사 방식을 보충했다.

△DaumEditor
DaumEditor는 2007년 나왔으며 UCC 제작에 최적화된 위지윅 기반의 웹 편집기다. 이 에디터는 메일, 카페, 블로그 등의 기본 편집기로 사용되며 2016년 3월에 업데이트가 중단됐다.

DaumEditor의 주요 취약점으로는 파일 업로드 취약점이 있으며, 모든 버전에 영향을 주고 있다. 파일 업로드 취약점은 웹 에디터의 파일 첨부 기능을 이용해 웹셸과 같은 실행 파일을 업도르한 후 원격에서 실행시키는 취약점을 의미한다. DaumEditor는 기본적인 파일 업로드 기능이 없으며, 취약점은 사용자가 업로드 파일의 확장자 검사를 소홀히 할 때 발생한다.


▲DaumEditor 취약점[이미지=KISA]

DaumEditor는 이미지 업로드 샘플 파일을 기본으로 제공하지 않기 때문에 이미지 업로드 취약점은 없다. 파일 업로드 취약점에 대한 대응방안은 첫 번째로 업로드되는 파일의 확장자를 검증해 악성파일의 서버에서 업로드 또는 실행을 차단할 수 있다. 두 번째는 업로드 파일명을 난수화한 후 서버에 저장하면 공격자가 업로드한 악성파일의 외부 호출을 막을 수 있다.

△TinyMCE Editor
TinyMCE Editor는 LGPL로 공개된 오픈소스 소프트웨어로 HTML textarea 필드나 기타 HTML 요소들을 에디터 인스턴스로 변환한다. TinyMCE는 리액트, Vue.js, AngularJS 등의 자바스크립트 라이브러리와 Joomla!, 워드프레스 등 콘텐츠 관리 시스템과의 연동을 돕는다.


▲TinyMCE Editor 취약점[이미지=KISA]

TinyMCE Editor의 알려진 주요 취약점은 파일 업로드 취약점이 있다. 이 취약점은 파일 첨부 기능을 이용해 웹셸과 같은 실행 파일을 업로드한 후 원격에서 실행시키는 취약점을 의미한다. 버전에 관계없이 이미지 업로드 소스코드가 미흡한 경우 취약점이 나타나며, 해당 웹에디터를 이용하는 웹사이트마다 취약점 대응방안도 다를 수 있다.

△EzEditor
EzEditor는 다양한 포맷과 PDF 문서의 열람, 편집, 보안 등 효율적인 업무 및 전자문서 활용이 가능한 솔루션이다. EzEditor는 2015년 12월 0.2.6 버전을 끝으로 업데이트가 중단됐다.


▲EzEditor 취약점[이미지=KISA]

EzEditor의 알려진 주요 취약점은 파일 업로드 취약점이 있으며, 0.1.1부터 0.2.5까지 모든 버전에 걸쳐 나타나고 있다. 공격자는 서버 전용 스크립트(PHP, JSP, .NET)를 이용해 웹셸을 제작하고 이를 게시판 첨부파일에 업로드할 수 있다.

EzEditor의 취약점에 대한 해결방안은 첨부된 파일의 확장자를 검증하는 코드를 추가해 공격자가 악성파일을 업도르하는 것을 사전에 확인하고 예방할 수 있다. 이에 대한 검증방식은 ‘BlackList 차단’ 방식보다는 ‘WhiteList 허용’ 방식이 더 효과적이다.
[김영명 기자(boan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 가시

    • 인콘

    • 엔텍디바이스코리아

    • 핀텔

    • KCL

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 아이리스아이디

    • 원우이엔지

    • 지인테크

    • 홍석

    • 이화트론

    • 다누시스

    • 테크스피어

    • 프로브디지털

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 비전정보통신

    • 지오멕스소프트

    • HS효성인포메이션시스템

    • 인터엠

    • 위트콘

    • 성현시스템

    • 동양유니텍

    • 투윈스컴

    • 스피어AX

    • 다후아테크놀로지코리아

    • 한결피아이에프

    • 경인씨엔에스

    • 디비시스

    • 트루엔

    • 세연테크

    • 아이원코리아

    • 유니뷰

    • 포엠아이텍

    • 넥스트림

    • 아이닉스

    • 아이리스아이디

    • 펜타시큐리티

    • 셀파인네트웍스

    • 지코어코리아

    • 시큐아이

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 엣지디엑스

    • 케이제이테크

    • 알에프코리아

    • (주)일산정밀

    • 아이엔아이

    • 미래시그널

    • 새눈

    • 네티마시스템

    • 유투에스알

    • 주식회사 에스카

    • 한국아이티에스

    • 케비스전자

    • 레이어스

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 에이앤티글로벌

    • 이스트컨트롤

    • 현대틸스
      팬틸트 / 카메라

    • 제네텍

    • 넥스텝

    • 티에스아이솔루션

    • 에이티앤넷

    • 구네보코리아주식회사

    • 엘림광통신

    • 한국씨텍

    • 포커스에이치앤에스

    • 이엘피케이뉴

    • 휴젠

    • 신화시스템

    • 글로넥스

    • 메트로게이트
      시큐리티 게이트

    • 세환엠에스(주)

    • 유진시스템코리아

    • 카티스

    • 유니온커뮤니티

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

Passwordless 설정

PC버전

닫기