SA-CONTRIB-2026-018: SAML SSO 반사형 XSS — 로그인 페이지에 스크립트 인젝션
Source: Dev.to
개요
SA‑CONTRIB‑2026‑018은 SAML SSO – Service Provider 모듈(drupal/miniorange_saml)에 존재하는 심각한 Reflected XSS 취약점입니다.
CVE‑2026‑3217을 통해 공격자는 조작된 URL을 이용해 SSO 로그인 엔드포인트에 스크립트를 삽입할 수 있습니다. 이 취약점은 모든 버전에 영향을 미칩니다.
“이 모듈은 사용자 입력을 충분히 정제하지 않아 조작된 요청을 통해 Reflected XSS가 발생합니다.” — Drupal 보안 팀, SA‑CONTRIB‑2026‑018
공격 흐름
flowchart TD
A[Attacker crafts malicious URL targeting SSO endpoint] --> B[Victim clicks link — expects login page]
B --> C{Input sanitized by module?}
C -->|No — version E[Session tokens / credentials at risk]
E --> F[Account takeover possible]
C -->|Yes — version ≥ 3.1.3| G[Input escaped — attack neutralized]
영향
- 높은 신뢰 표면: 사용자는 로그인 페이지를 신뢰하므로 주요 공격 대상이 됩니다.
- 세션 컨텍스트: 인증 중 실행되는 스크립트는 자격 증명, 토큰을 탈취하거나 리다이렉트를 조작할 수 있습니다.
- 폭발 반경: 로그인 페이지는 모든 사용자가 방문하므로 성공적인 악용은 전체 사용자 기반에 영향을 미칠 수 있습니다.
해결 방안
-
설치된 버전 확인
composer show drupal/miniorange_saml -
패치된 버전(≥ 3.1.3)으로 업그레이드
composer require drupal/miniorange_saml:^3.1.3 -
캐시를 비우고 라우터 재구성
drush cr -
SSO 관련 권한 검토
drush role:perm | grep -Ei "saml|sso|miniorange" -
SP‑initiated와 IdP‑initiated 로그인 흐름을 모두 테스트하여 매개변수가 올바르게 이스케이프되는지 확인합니다.
전체 권고 세부 정보
- 프로젝트: SAML SSO – Service Provider (
drupal/miniorange_saml) - 권고: SA‑CONTRIB‑2026‑018
- CVE: CVE‑2026‑3217
- 게시일: 2026‑02‑25
- 위험도: Critical
- 유형: Reflected cross‑site scripting (XSS)
- 영향받는 버전:
< 3.1.3 - 수정된 버전:
3.1.3
Drupal 및 WordPress에 중요한 이유
miniOrange는 Drupal과 WordPress 모두를 위한 SAML SSO 플러그인을 제공합니다. 인증 엔드포인트에서 발생하는 Reflected XSS는 플랫폼에 구애받지 않으며, 이 플러그인을 사용하는 모든 사이트에 영향을 미칠 수 있습니다. 연합 아이덴티티를 위해 SAML을 사용하는 기업 및 고등 교육 기관은 로그인 콜백 URL의 모든 쿼리 매개변수와 오류 메시지가 올바르게 이스케이프되는지 확인해야 합니다.
사이트에서 SAML SSO – Service Provider 모듈을 사용 중이며 버전이 3.1.3 미만이라면 이는 백로그 작업이 아니라 즉각적인 보안 우선순위입니다. 먼저 패치를 적용하고, 로그인 흐름을 검증한 뒤 SSO 라우트 노출을 재검토하십시오.