
CVE-2025-12163: Omnipress WordPress 플러그인의 저장형 크로스 사이트 스크립팅
Omnipress WordPress 플러그인 저장형 XSS 취약점 (CVE-2025-XXXXX) - Omnipress Gutenberg 블록 플러그인에서 인증된 공격자(Author 권한)가 악성 스크립트를 주입할 수 있는 저장형 크로스 사이트 스크립팅 취약점.
Omnipress WordPress 플러그인에서 저장형 XSS 취약점이 발견되었습니다. 이 취약점은 Author级以上의 인증된 공격자가 페이지에 임의의 웹 스크립트를 주입하여, 사용자가 해당 페이지에 접속할 때 실행되도록 할 수 있습니다.
발견자: Kai Aizen
공개일: 2025년 12월
CVSS 점수: 6.4 (Medium)
CWE: CWE-79 - 웹 페이지 생성 시 입력 값의 부적절한 중립화 (크로스 사이트 스크립팅)
플러그인: Omnipress – WordPress Gutenberg Blocks Plugin
공격 유형: 인증된 (Author+) 저장형 크로스 사이트 스크립팅
필요 권한: Author 권한 이상
Omnipress WordPress 플러그인은 버전 1.6.3 이하에서 입력 값의 충분한 삭제(sanitization)와 출력 이스케이핑(output escaping) 부족으로 인해 저장형 XSS에 취약합니다. 이로 인해 Author权限 이상의 인증된 공격자가 페이지에 임의의 웹 스크립트를 주입할 수 있으며, 사용자가 해당 페이지에 접속할 때 스크립트가 실행됩니다.
이 취약점은 인증된 공격자가 다음을 수행할 수 있게 합니다:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
취약점은 Omnipress 블록 편집기 구성 요소에서 사용자 입력을 부적절하게 처리하는 데서 발생합니다:
취약점은 다음과 같이 악용될 수 있습니다:
이 취약점을 증명하는 PoC가 존재하지만, 패치 및 사용자 업데이트를 위해 공개를 보류하고 있습니다.
즉시 조치 필요:
Gutenberg 블록의 모든 사용자 입력에 적절한 보안 제어를 구현하세요:
// 블록 렌더링 시 올바른 출력 이스케이핑 예시
function render_block_content( $attributes ) {
// 모든 사용자 제공 속성 이스케이프
$safe_content = esc_html( $attributes['content'] );
$safe_url = esc_url( $attributes['url'] );
$safe_attr = esc_attr( $attributes['customAttr'] );
// HTML 콘텐츠에 wp_kses 사용 (허용 태그 지정)
$allowed_html = array(
'a' => array( 'href' => array(), 'title' => array() ),
'strong' => array(),
'em' => array(),
);
$safe_html = wp_kses( $attributes['htmlContent'], $allowed_html );
return sprintf(
'<div class="%s"><a href="%s">%s</a></div>',
$safe_attr,
$safe_url,
$safe_content
);
}
연구자:
공개 절차: Wordfence Bug Bounty Program을 통해 조정
이 정보는 보안 연구 및 방어 목적으로만 제공됩니다. 이 취약점을 악의적인 목적으로 악용하는 것은 불법이며 비윤리적입니다. 소유하지 않은 시스템을 테스트하기 전에 항상 적절한 승인을 받으십시오.
이 취약점에 대한 질문이나 추가 정보가 필요하시면:
최종 업데이트: 2025년 12월
이 프로젝트의 전체 분석, 방법론 및 관련 연구는 다음에서 확인할 수 있습니다:
https://snailsploit.com/security-research/cves/cve-2025-12163/
작성자: Kai Aizen — 독립적인 공격적 보안 연구원
snailsploit.com · Research · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
동일한 공격. 다른 기반.
| 지표 | 값 |
|---|
| 공격 벡터 | 네트워크 (AV:N) |
| 공격 복잡도 | 낮음 (AC:L) |
| 필요 권한 | 낮음 (PR:L) |
| 사용자 상호작용 | 없음 (UI:N) |
| 범위 | 변경됨 (S:C) |
| 기밀성 | 낮음 (C:L) |
| 무결성 | 낮음 (I:L) |
| 가용성 | 없음 (A:N) |