Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2018-6389] 전세계 웹사이트 약 29%가 취약한 WordPress DoS
작성일 2018-02-09 조회 1771

 

개요

2018년 2월 5일경 WordPress의 DoS(Denial of Service) 취약점이 공개되었습니다.
해당 취약점은 CVE-2018-6389로 할당되었는데 WordPress측에서는 취약점이 아니기 때문에 패치할 의향이 없다는 의견을 내비쳤습니다. 그리고 전 세계 인터넷 웹사이트중 29%이상을 차지하고 있는 CMS인 만큼 서버 운영자들에겐 각별한 주의가 필요할 것으로 판단됩니다.

 

확인 내역

해당 취약점은 JS 및 CSS 파일을 로드하는데 사용되는 모듈에 존재합니다.  wp-admin경로에 있는 load-styles.php 및 load-scripts.php가 load 파라미터를 통해 JS 및 CSS 파일을 로드하게 됩니다. 이 때 load 파라미터는 배열의 형태([])로 값들을 전달할 수 있습니다. load[]를 통해 사용자가 전달할 수 있는 값은 총 181개로 목록은 script-loader.php에 나타나 있습니다(표 -1 참조).

 

<표 1 - load[]를 통해 전달 되는 값 List>

eutil,common,wp-a11y,sack,quicktag,colorpicker,editor,wp-fullscreen-stu,wp-ajax-response,wp-api-request,wp-pointer,autosave,heartbeat,wp-auth-check,wp-lists,prototype,scriptaculous-root,scriptaculous-builder,scriptaculous-dragdrop,scriptaculous-effects,scriptaculous-slider,scriptaculous-sound,scriptaculous-controls,scriptaculous,cropper,jquery,jquery-core,jquery-migrate,jquery-ui-core,jquery-effects-core,jquery-effects-blind,jquery-effects-bounce,jquery-effects-clip,jquery-effects-drop,jquery-effects-explode,jquery-effects-fade,jquery-effects-fold,jquery-effects-highlight,jquery-effects-puff,jquery-effects-pulsate,jquery-effects-scale,jquery-effects-shake,jquery-effects-size,jquery-effects-slide,jquery-effects-transfer,jquery-ui-accordion,jquery-ui-autocomplete,jquery-ui-button,jquery-ui-datepicker,jquery-ui-dialog,jquery-ui-draggable,jquery-ui-droppable,jquery-ui-menu,jquery-ui-mouse,jquery-ui-position,jquery-ui-progressbar,jquery-ui-resizable,jquery-ui-selectable,jquery-ui-selectmenu,jquery-ui-slider,jquery-ui-sortable,jquery-ui-spinner,jquery-ui-tabs,jquery-ui-tooltip,jquery-ui-widget,jquery-form,jquery-color,schedule,jquery-query,jquery-serialize-object,jquery-hotkeys,jquery-table-hotkeys,jquery-touch-punch,suggest,imagesloaded,masonry,jquery-masonry,thickbox,jcrop,swfobject,moxiejs,plupload,plupload-handlers,wp-plupload,swfupload,swfupload-all,swfupload-handlers,comment-repl,json2,underscore,backbone,wp-util,wp-sanitize,wp-backbone,revisions,imgareaselect,mediaelement,mediaelement-core,mediaelement-migrat,mediaelement-vimeo,wp-mediaelement,wp-codemirror,csslint,jshint,esprima,jsonlint,htmlhint,htmlhint-kses,code-editor,wp-theme-plugin-editor,wp-playlist,zxcvbn-async,password-strength-meter,user-profile,language-chooser,user-suggest,admin-ba,wplink,wpdialogs,word-coun,media-upload,hoverIntent,customize-base,customize-loader,customize-preview,customize-models,customize-views,customize-controls,customize-selective-refresh,customize-widgets,customize-preview-widgets,customize-nav-menus,customize-preview-nav-menus,wp-custom-header,accordion,shortcode,media-models,wp-embe,media-views,media-editor,media-audiovideo,mce-view,wp-api,admin-tags,admin-comments,xfn,postbox,tags-box,tags-suggest,post,editor-expand,link,comment,admin-gallery,admin-widgets,media-widgets,media-audio-widget,media-image-widget,media-gallery-widget,media-video-widget,text-widgets,custom-html-widgets,theme,inline-edit-post,inline-edit-tax,plugin-install,updates,farbtastic,iris,wp-color-picker,dashboard,list-revision,media-grid,media,image-edit,set-post-thumbnail,nav-menu,custom-header,custom-background,media-gallery,svg-painter

 

많은 값들을 load[]를 통해 서버로 전달했을 때 약 4MB의 데이터를 서버가 처리하게 되는데 공격자가 과도하게 반복해서 요청할 경우 서버는 DoS 상태에 빠지게 됩니다.

 

대응방안

1. 벤더사에서 별도의 패치를 릴리즈 하지않음,  아래 링크의 쉘코드를 수행한다.
https://github.com/Quitten/WordPress/blob/master/wp-dos-patch.sh

 

2. 당사 IPS 장비에서는 아래와 같은 패턴으로 대응이 가능하다.

[4058] WordPress load-scripts.php DoS
[4059] WordPress load-styles.php DoS

 

참조

http://securityaffairs.co/wordpress/68709/hacking/cve-2018-6389-wordpress-dos-flaw.html
https://baraktawily.blogspot.kr/2018/02/how-to-dos-29-of-world-wide-websites.html
https://www.imperva.com/blog/2018/02/cve-2018-6389-wordpress-parameter-resource-consumption-remote-dos/
https://0day.today/exploit/29712

 

 

 

 

 

첨부파일 첨부파일이 없습니다.
태그 WordPress  CVE-2018-6389  DoS