
투어코리아
코웨이, 해외 법인 매출 24% 급증…에어컨·음식물처리기·저주파기기가 견인

위키트리

전 세계 웹사이트의 43% 이상을 구동하는 콘텐츠관리시스템(CMS) 워드프레스(WordPress)에서 로그인 페이지만으로 서버를 장악할 수 있는 심각한 보안 결함이 발견됐다. 보안 업체 pwn.ai가 발견해 CVE-2026-64638로 등록된 이 취약점에는 ‘XSS2Shell’이라는 이름이 붙었다. CVSS(공통취약점평가시스템) 점수는 8.9로, 로그인조차 하지 않은 공격자가 자바스크립트를 주입할 수 있고 관리자의 클릭 한 번만 더해지면 원격 코드 실행(RCE)으로 이어질 수 있다. 워드프레스는 8월 6일(현지시각) 이를 수정한 7.0.3 버전을 긴급 배포했다. 다만 공개된 익스플로잇 코드가 이미 깃허브(GitHub)에 올라와 패치되지 않은 사이트는 여전히 위험에 노출돼 있다.
워드프레스 로그인 화면(wp-login.php)에서 존재하지 않는 아이디를 입력하면 오류 메시지에 그 아이디가 그대로 표시된다. 이 과정에서 wp_strip_all_tags() 함수가 PHP의 strip_tags()를 호출해 위험한 태그를 걸러내는데, 공격자가 여는 꺾쇠괄호(<)와 태그 이름 사이에 공백을 하나 넣으면(예: “< area”) strip_tags()는 이를 무해한 텍스트로 판단해 그냥 통과시킨다. 문제는 워드프레스의 별도 살균 필터인 KSES가 같은 문자열을 다시 처리할 때는 정상 HTML 태그로 재해석해 <area>, <div>, <button> 같은 요소를 실제로 페이지에 심어버린다는 점이다. 서로 다른 두 검사 로직이 같은 입력을 다르게 판단하는 이른바 파서 불일치가 근본 원인이다.
주입된 요소는 비밀번호 재설정 기능에서 쓰다 남은 스크립트 user-profile.js가 페이지 로드 시 자동으로 찾는 선택자(selector)와 일치하도록 설계됐다. 이 스크립트가 해당 요소를 인식하면 자동 클릭이 이어지는 연쇄 작용이 일어나 AJAX 요청이 발생한다. 이때 jQuery의 ajaxurl 변수가 DOM 클로버링(정상 DOM 요소를 공격자가 삽입한 요소로 덮어씌우는 기법)으로 하이재킹되며, 요청이 워드프레스 REST API로 향하도록 조작된다. 메서드 오버라이드와 JSONP 파라미터를 함께 쓰면 API 응답이 실행 가능한 자바스크립트 형태로 되돌아온다. 계정도 없고 피해자의 별다른 조작도 필요 없는 상태에서 공격자의 스크립트가 워드프레스 사이트 자체의 오리진(origin) 안에서 실행되는 것이다.

여기까지는 인증 없이도 가능한 리플렉트형 XSS(반사형 크로스사이트스크립팅)다. 이를 완전한 서버 장악으로 키우려면 로그인된 관리자(단일 사이트 Administrator)가 공격자가 만든 페이지를 방문해 한 번 클릭해야 한다. 연구원 파울로스 이벨로(Paulos Yibelo)가 2022년 공개한 “동일 출처 메서드 실행(Same Origin Method Execution)” 기법을 기반으로 한 공격 체인은 관리자의 세션을 이용해 새로운 애플리케이션 패스워드(Application Password)를 발급받는 데서 시작한다. 이어 관리자 권한 중 unfiltered_html 기능을 활용해 악성 자바스크립트가 담긴 페이지를 게시하고, 플러그인 업로드용 논스(nonce)를 확보해 PHP 웹셸이 담긴 ZIP 파일을 업로드한다. 확보한 PHP 파일은 플러그인을 활성화하지 않아도 곧바로 실행될 수 있다고 rescana는 설명했다.
공격이 성공하면 공격자는 wp-config.php에 저장된 데이터베이스 자격 증명을 확보하고, 지속적인 관리자 계정을 새로 만들거나 사이트 콘텐츠를 마음대로 바꿀 수 있다. 나아가 PHP 워커 프로세스 권한으로 임의의 운영체제 명령까지 실행할 수 있어 사이트 전체가 공격자 손에 넘어갈 수 있다. 다만 워드프레스 측 보안 권고문은 이 확대 경로가 “공격자가 통제할 수 없는 조건”에 좌우된다고 명시했다. 사회공학적 기법과 피해자의 명시적 상호작용이 함께 필요하다는 이유로 이 취약점은 최고 등급이 아닌 고위험(CVSS 8.9) 등급으로 분류됐다.
이 취약점을 처음 찾아낸 것은 사람이 아니라 pwn.ai의 다중 에이전트 시스템이었다. 이벨로의 2022년 연구를 바탕으로 학습된 이 시스템이 취약점을 자율적으로 재현해냈다고 매체 cyberkendra는 전했다. 사람이 코드를 직접 뒤지며 찾아낸 결함이 아니라는 점에서 취약점 탐지 방식의 변화를 보여주는 사례로 눈길을 끈다.
공개된 지 하루 만에 파이썬(Python) 기반의 익스플로잇 도구가 깃허브에 올라와, 패치를 미룬 사이트들은 이미 시한부 상태에 놓였다는 지적도 나온다. 워드프레스는 4.7 버전부터 이 결함을 안고 있었던 것으로 확인됐다. cyberkendra는 CMS가 전 세계 웹사이트의 43% 이상을 구동하는 규모로 성장하는 동안 이 결함이 모든 보안 점검을 통과해 남아있었다며, 패치 전까지 5억 개 이상의 사이트가 노출돼 있었을 것으로 추정했다. 다만 8월 7일(현지시각) 기준으로 실제 악용 사례는 확인되지 않았고, 미국 사이버보안청(CISA)의 알려진 악용 취약점(KEV) 목록에도 등재되지 않은 상태다.
워드프레스는 7.0.3에서 wp-includes/user.php와 wp-login.php에 esc_html(), esc_url(), esc_attr() 호출을 추가해 파서 불일치 문제를 봉합했다. 이 패치는 지원되는 하위 브랜치인 4.7 버전까지 백포트(이전 버전에도 적용)됐고, 함께 배포된 11건의 다른 보안 패치와 함께 차기 버전인 7.1 RC2 브랜치에도 반영됐다. 다만 이미 지원이 종료된 4.6 이하 구버전은 패치를 받지 못해 취약점이 그대로 남아있다.
자동 백그라운드 업데이트를 켜둔 사이트는 이미 패치를 받았을 가능성이 크지만, 자체 호스팅 환경에서는 수동으로 업데이트를 적용해야 하는 경우가 많다. 보안 전문가들은 예상치 못한 애플리케이션 패스워드 생성이나 낯선 플러그인 업로드 흔적이 있는지 로그를 점검하라고 권고한다. 또 관리자 계정 접근을 신뢰된 네트워크로 제한하고, 관리자들에게 사회공학적 공격과 피싱의 위험성을 알리는 것도 중요한 대응책으로 꼽힌다.

관심 없음
{카테고리}에 관심 없음