아무도 못 보는 유니코드 문자 하나가 도메인 전체를 넘겼다 — KerberLoss와 ResetNightmare
아무도 못 보는 유니코드 문자 하나가 도메인 전체를 넘겼다 — KerberLoss와 ResetNightmare
분류: CVE · 커널·OS · 권한상승(LPE) · CVE-2026-25177 / CVE-2026-27912 [정보성]
덱. 마이크로소프트 액티브 디렉터리(AD)의 인증 체계인 Kerberos에서 신규 취약점 2건이 공개됐습니다. 출발점은 LDAP 서버가 특정 유니코드 문자를 완전히 무시한다는, 얼핏 사소해 보이는 특성이었습니다. 이 하나의 특성이 2021년 패치로 막혔던 옛 취약점의 우회로를 다시 열었고, 최종적으로는 저권한 사용자가 도메인 관리자 계정의 비밀번호를 스스로 재설정하는 데까지 이어졌습니다.
리드
보안 패치는 특정 경로 하나를 막는 형태로 이뤄지는 경우가 많습니다. 문제는 같은 목적을 달성하는 다른 경로가 남아 있으면, 막은 곳을 피해 다른 문으로 들어갈 수 있다는 점입니다. 이번에 Semperis 연구팀이 공개한 사례는 그 패턴을 정확히 보여줍니다 — 2021년에 막힌 취약점이, 전혀 다른 프로토콜 경로를 통해 다시 뚫렸습니다.
핵심 사실 요약
- 보안 업체 Semperis의 연구원 Shai Laron이 2026년 8월 “Identity Crisis”라는 이름의 리서치를 공개했고, 여기서 AD/Kerberos 관련 신규 취약점 2건이 나왔습니다: **KerberLoss(CVE-2026-25177)**와 **ResetNightmare(CVE-2026-27912)**입니다.
- 출발점은 AD의 LDAP 서버가 어떤 필터·정렬 규칙으로도 인식하지 못하는 특정 유니코드 문자가 있다는 관찰입니다. 이 문자를 이름에 섞어 넣으면, 2021년 패치(CVE-2021-42282 대응)로 도입된 “포리스트 전역 SPN/UPN(서비스·사용자 계정 식별자) 유일성 검사”를 실질적으로 우회할 수 있었습니다.
- **KerberLoss(CVE-2026-25177)**는 이 유일성 우회와, 특정 서비스 이름(SPN)이 항상 우선 조회되는 Kerberos 규칙을 결합해 성립합니다. 연구팀은 이를 이용해 (1) 특정 호스트 매핑 서비스에 대한 서비스 거부(DoS), (2) 중간 서비스에 대한 쓰기 권한 없이도 가능한 SPN 탈취 변형, (3) 중복 SPN으로 KDC(키 배포 센터)를 강제로 Kerberos에서 NTLM으로 다운그레이드시키는 시나리오, 세 가지를 실증했습니다. 전제 조건은 SPN에 대한 쓰기 권한(WriteSPN)입니다.
- **ResetNightmare(CVE-2026-27912)**는 한 단계 더 나아갑니다. UPN(사용자 주체 이름) 유일성도 같은 유니코드 특성으로 우회할 수 있지만, 그것만으로는 권한 상승이 되지 않습니다 — 2021년 noPac 취약점(CVE-2021-42287) 패치가 도입한
PAC_REQUESTOR_SID검증이 TGS(티켓 발급 서비스) 교환 단계에서 계정 사칭을 막고 있기 때문입니다. - 연구팀이 찾은 우회로는 **Kerberos 비밀번호 변경 프로토콜(kadmin/changepw, 포트 464)**이었습니다. 이 경로는 TGT 요청에서 곧바로 AP 요청으로 넘어가고, 앞서 말한
PAC_REQUESTOR_SID검증이 일어나는 TGS 요청 단계를 아예 거치지 않습니다. 즉 2021년 패치가 지키는 문(TGS 경로)과 다른 문(비밀번호 변경 경로)이 열려 있었던 셈입니다. - 이 경로를 통해, 낮은 권한의 사용자가 자신의 UPN을 목표 관리자 계정의 이름으로 설정하고 비밀번호 변경 절차를 밟으면, 최종적으로 목표 관리자 계정의 비밀번호를 스스로 재설정할 수 있었습니다. 연구팀은 이 과정을 오픈소스 도구(ResetNightmare.ps1)로 공개 실증했습니다.
- NVD 등록 기준 KerberLoss(CVE-2026-25177)는 CWE-641, CVSS 3.1 8.8(공격 시 네트워크 경유, 낮은 권한 필요), 2026년 3월 10일 마이크로소프트가 패치했습니다. ResetNightmare(CVE-2026-27912)는 CWE-285, CVSS 3.1 8.0(인접망 경유), 2026년 4월 14일 패치됐습니다.
- 전제 조건은 두 취약점 모두 완전 무인증은 아니라는 점입니다. KerberLoss는 WriteSPN 권한이, ResetNightmare는 대상 오브젝트에 대한 쓰기 권한과 비밀번호가 충분히 오래된 상태(기본 정책상 대개 자연히 충족)가 필요합니다.
대응방안
- 근본. 모든 도메인 컨트롤러를 해당 패치(KerberLoss 2026년 3월, ResetNightmare 2026년 4월)로 업데이트합니다. 두 취약점 모두 이 패치가 유일한 근본 해결책으로 안내됩니다.
- 최소 권한. WriteSPN, UPN 쓰기 권한 같은 비기본 쓰기 권한을 원칙적으로 최소화하고, 이미 부여된 예외는 별도로 모니터링합니다. 두 공격 모두 이런 권한 보유를 전제로 하기 때문입니다.
- 보완 탐지. AD 무결성 감시 도구로 UPN/SPN 유일성 검사가 실제로 걸리고 있는지, 숨겨진 유니코드 문자를 포함한 오브젝트나 중복 오브젝트가 있는지 상시 점검합니다. 패치 적용 전 구간을 보완하는 대책입니다.
짧은 논평
ResetNightmare가 보여주는 패턴 — “한 경로(TGS)를 막았더니 다른 경로(비밀번호 변경 프로토콜)로 같은 목적을 달성한다” — 는 패치가 근본 원인이 아니라 특정 진입 경로만 막았을 때 반복되는 전형적인 실패 형태입니다. 하나의 인증 우회를 막을 때는 “이 검증이 모든 관련 경로에 걸려 있는가”까지 확인해야 한다는 교훈을 남깁니다. 마이크로소프트 AD/Kerberos는 폐쇄형 소스라 실제 코드·패치 diff를 직접 볼 수는 없지만, 프로토콜 구조(RFC 4120, RFC 4515)와 공개된 연구 도구만으로도 이 패턴은 충분히 확인됩니다.
References / 참고자료
- Semperis, “Identity Crisis: Novel Vulnerabilities Leading to Kerberos Downgrade, DoS, and Full Domain Takeover” (연구자 Shai Laron) — 이 글이 재구성한 원 분석. KerberLoss·ResetNightmare 발견 과정과 실증 전체를 다룸. https://www.semperis.com/blog/identity-crisis-novel-vulnerabilities-leading-to-kerberos-downgrade-dos-and-full-domain-takeover/
이 글은 위 원 분석을 우리 관점에서 다시 쓰고 짧은 논평을 더한 정보성 초안입니다. 특정 문장을 그대로 옮기지 않았으며, 작동하는 익스플로잇 코드는 싣지 않았습니다. CVSS 벡터·패치일 등 수치는 발행 전 NVD 1차출처 재대조가 권장됩니다.