Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-18963 — CVE-2026-18963에 대한 개념 증명 익스플로잇으로, 웹 애플리케이션의 자격 증명 재설정 흐름을 우회하여 인증 없이 계정 탈취가 가능함을 입증합니다. | Kitploit
도구/GitHubGitHub/eqstlab/cve-2026-18963
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingAuthentication
GitHubeqstlab/cve-2026-18963

CVE-2026-18963

CVE-2026-18963에 대한 개념 증명 익스플로잇으로, 웹 애플리케이션의 자격 증명 재설정 흐름을 우회하여 인증 없이 계정 탈취가 가능함을 입증합니다.

저장소 보기
192511개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-18963 Keycloak 인증되지 않은 계정 탈취

★ CVE-2026-18963 Keycloak 자격 증명 재설정 흐름 우회 PoC ★

https://github.com/user-attachments/assets/ebed1e64-a40c-4333-be18-9acbadd655b0


개요

CVE-2026-18963은 Keycloak keycloak-services 컴포넌트의 치명적인 인증되지 않은 계정 탈취 취약점입니다(CVSS 9.1). 자격 증명 재설정 인증 상태 머신의 결함으로 인해 원격 공격자가 이메일 인증 단계를 우회하고 재설정 링크 없이도 비밀번호 변경 양식에 접근할 수 있습니다. 알려진 사용자 이름을 대상으로 삼아 공격자는 인증이나 사용자 상호작용 없이 새 비밀번호를 설정하고 피해자의 계정을 장악할 수 있습니다.

취약한 흐름은 자격 증명 선택기 상태를 선택기를 표시한 실행에 바인딩하지 않고 세션 전체 인증 노트로 저장합니다. 따라서 재설정 흐름에 다시 진입하면 다른 실행을 위해 오래된 선택기 상태를 재사용할 수 있습니다. 영향을 받는 버전에서는 재설정 이메일 인증기가 유효한 이메일 액션 토큰을 통해 도달했는지 확인하지 않고 액션을 수락하기도 합니다. 이러한 동작을 연쇄적으로 악용하면 공격자는 곧바로 UPDATE_PASSWORD 단계로 진행할 수 있습니다.


영향을 받는 버전

분류버전
취약Keycloak 26.0.0 ≤ version < 26.4.15
취약Keycloak 26.5.0 ≤ version < 26.6.6
취약Keycloak 26.7.0 ≤ version < 26.7.2
패치됨26.4.15, 26.6.6, 26.7.2 (각 릴리스 브랜치)

이 실습 환경은 Keycloak 26.7.1을 사용합니다.


영향

  • 알려진 임의 사용자에 대한 인증되지 않은 비밀번호 재설정
  • 피해자의 이메일에 접근하지 않고도 전체 계정 탈취
  • 영향을 받는 Keycloak realm으로 보호되는 애플리케이션 및 데이터에 대한 무단 접근
  • 연결된 서비스에서 피해자의 역할 및 권한 악용

환경

취약한 Keycloak 26.7.1 환경을 빌드하고 실행합니다. 이미지는 취약한 자격 증명 재설정 흐름이 활성화된 테스트 realm, 미리 생성된 victim 계정, 그리고 보호된 플래그 페이지가 있는 EQST 포털을 가져옵니다.

docker build -t cve-2026-18963 .
docker run --rm -d \
  --name cve-2026-18963 \
  -p 9105:9105 \
  -e PORTAL_PUBLIC_URL=http://127.0.0.1:9105 \
  cve-2026-18963

Keycloak이 시작될 때까지 기다린 후 포털을 엽니다:

http://127.0.0.1:9105
사전 조건이 실습 환경의 상태
Keycloak26.7.1 (취약)
Realmcve-lab
비밀번호 찾기활성화됨
대상 계정victim
Keycloak 기본 URLhttp://127.0.0.1:9105/keycloak

PoC

포함된 exploit.py는 재설정 흐름 상태 조작을 자동화하고, 이메일 액션 토큰을 소비하지 않고 비밀번호 변경 양식을 요청하며, 피해자의 비밀번호를 변경하고, 새 자격 증명으로 액세스 토큰을 요청하여 탈취를 검증합니다.

Python 의존성을 설치합니다:

python3 -m pip install requests

Keycloak URL, 피해자 사용자 이름, 새 비밀번호를 사용하여 익스플로잇을 실행합니다:

# python3 exploit.py <keycloak-url> <victim> <new-password>
python3 exploit.py \
  http://127.0.0.1:9105/keycloak \
  victim \
  'NewPassword1!'

성공적으로 실행되면 다음과 같이 출력됩니다:

[*] selector note set via tryAnotherWay
[*] victim submitted: victim
[*] update-password form served without an action token
[+] VULNERABLE - victim password is now 'NewPassword1!'

http://127.0.0.1:9105를 열고 LOGIN을 클릭한 후 새 비밀번호로 victim으로 인증하여 계정 탈취를 확인합니다.


완화 방안

  • 해당 릴리스 브랜치 내에서 26.4.15, 26.6.6, 또는 26.7.2로 업그레이드하거나, 더 최신의 지원되는 Keycloak 릴리스로 이동합니다.
  • 즉시 업그레이드가 불가능한 경우, 임시 완화 조치로 모든 realm에서 Realm settings → Login → Forgot password를 비활성화합니다.
  • 예상치 못한 재설정이 있는지 비밀번호 재설정 활동을 검토하고 영향을 받은 계정을 조사합니다.
  • 침해가 의심되는 계정의 활성 세션을 해지하고 자격 증명을 교체합니다.

분석

  • KR: 곧 공개됩니다!
  • EN:
도구 다운로드