WordPress Gutenberg 플러그인에서 발견된 취약점?

게시 됨: 2022-08-03

미국 정부의 National Vulnerability Database는 공식 WordPress Gutenberg 플러그인에서 발견된 취약점에 대한 알림을 게시했습니다. 하지만 발견한 사람에 따르면 워드프레스는 취약점을 인정하지 않았다고 한다.

저장된 XSS(교차 사이트 스크립팅) 취약점

XSS는 양식이나 다른 방법을 통해 일반적으로 허용되지 않는 스크립트와 같은 것을 누군가가 업로드할 수 있을 때 발생하는 일종의 취약점입니다.

대부분의 양식 및 기타 웹 사이트 입력은 업데이트되는 내용이 예상대로인지 확인하고 위험한 파일을 필터링합니다.

공격자가 악성 스크립트를 업로드하는 것을 차단하지 못하는 이미지를 업로드하는 양식이 그 예입니다.

소프트웨어 보안 개선에 중점을 둔 조직인 비영리 Open Web Application Security Project에 따르면 성공적인 XSS 공격으로 다음과 같은 일이 발생할 수 있습니다.

“공격자는 XSS를 사용하여 의심하지 않는 사용자에게 악성 스크립트를 보낼 수 있습니다.

최종 사용자의 브라우저는 스크립트를 신뢰해서는 안 되며 스크립트를 실행할 것임을 알 수 있는 방법이 없습니다.

스크립트가 신뢰할 수 있는 소스에서 온 것으로 생각하기 때문에 악성 스크립트는 브라우저가 보유하고 해당 사이트에서 사용하는 쿠키, 세션 토큰 또는 기타 민감한 정보에 액세스할 수 있습니다.

이러한 스크립트는 HTML 페이지의 내용을 다시 작성할 수도 있습니다."

일반적인 취약점 및 노출 – CVE

CVE라는 조직은 취약점을 문서화하고 발견 사항을 대중에게 공개하는 역할을 합니다.

미국 국토안보부가 지원하는 조직은 취약점 발견을 조사하고 승인될 경우 해당 취약점의 식별 번호 역할을 하는 CVE 번호를 취약점에 할당합니다.

구텐베르크의 취약점 발견

보안 연구에서 취약점으로 여겨지는 것이 무엇인지 발견했습니다. 발견은 CVE에 제출되었고 발견은 승인되었고 CVE ID 번호가 할당되어 발견이 공식적인 취약점이 되었습니다.

XSS 취약점에는 ID 번호 CVE-2022-33994가 부여되었습니다.

CVE 사이트에 게시된 취약점 보고서에는 다음 설명이 포함되어 있습니다.

"WordPress용 13.7.3을 통한 Gutenberg 플러그인은 SVG 문서를 통해 "URL에서 삽입" 기능에 대한 기여자 역할에 의해 저장된 XSS를 허용합니다.

참고: XSS 페이로드는 WordPress 인스턴스의 도메인 컨텍스트에서 실행되지 않습니다. 그러나 권한이 낮은 사용자가 SVG 문서를 참조하려는 유사한 시도는 일부 유사한 제품에 의해 차단되며 이러한 동작 차이는 일부 WordPress 사이트 관리자에게 보안 관련성이 있을 수 있습니다."

즉, 기고자 수준 권한을 가진 사람이 웹사이트에 악성 파일을 삽입할 수 있습니다.

방법은 URL을 통해 이미지를 삽입하는 것입니다.

구텐베르크에서는 이미지를 업로드하는 세 가지 방법이 있습니다.

  1. 업로드
  2. WordPress 미디어 라이브러리에서 기존 이미지 선택
  3. URL에서 이미지 삽입

보안 연구원에 따르면 업로드 기능이 허용하지 않는 URL을 통해 확장 파일 이름이 포함된 이미지를 WordPress에 업로드할 수 있기 때문에 마지막 방법이 취약점의 원인입니다.

정말 취약점인가?

연구원은 WordPress에 취약점을 보고했습니다. 그러나 그것을 발견한 사람에 따르면 WordPress는 이를 취약점으로 인정하지 않았습니다.

연구원은 이렇게 썼습니다.

“WordPress 팀에 의해 거부되고 Informative로 분류된 Stored Cross Site Scripting 취약점을 찾았습니다.

오늘 취약점을 보고한지 45일째 되는 날인데 이 글을 쓰는 시점에서 아직 패치가 되지 않고 있습니다…”

그래서 이것이 XSS 취약점인지 여부에 대해 워드프레스가 맞고 미국 정부가 지원하는 CVE 재단이 틀리는지(또는 그 반대인지)에 대한 질문이 있는 것 같습니다.

연구원은 이것이 실제 취약점이라고 주장하고 해당 주장을 검증하기 위해 CVE 승인을 제안합니다.

또한 연구원은 WordPress Gutenberg 플러그인이 URL을 통한 이미지 업로드를 허용하는 상황이 좋은 관행이 아닐 수 있음을 암시하거나 제안하며, 다른 회사에서는 그러한 업로드를 허용하지 않습니다.

“그렇다면 이유를 알려주세요… … Google과 Slack과 같은 회사는 URL을 통해 로드된 파일의 유효성을 검사하고 파일이 SVG인 것으로 판명되면 거부하는 정도입니다!

…Google과 Slack… SVG 파일이 URL을 통해 로드되는 것을 허용하지 않습니다. WordPress가 하는 것처럼요!”

무엇을 할 것인가?

WordPress는 취약점 또는 문제를 나타내는 취약점이라고 생각하지 않기 때문에 취약점에 대한 수정 사항을 발표하지 않았습니다.

공식 취약점 보고서에는 최대 13.7.3까지의 Gutenberg 버전에 취약점이 포함되어 있다고 나와 있습니다.

그러나 13.7.3이 가장 최신 버전입니다.

모든 과거 변경 사항을 기록하고 향후 변경 사항에 대한 설명을 게시하는 공식 WordPress Gutenberg 변경 로그에 따르면 이 (주장된) 취약점에 대한 수정 사항은 없으며 계획된 사항도 없습니다.

그래서 문제는 고칠 것이 있는지 없는지입니다.

인용

취약점에 대한 미국 정부 취약점 데이터베이스 보고서

CVE-2022-33994 세부 정보

공식 CVE 사이트에 보고서 게시

CVE-2022-33994 세부 정보

연구원의 연구 결과 읽기

CVE-2022-33994: - WordPress에 저장된 XSS


Shutterstock/Kues의 추천 이미지