무엇이 뚫렸나
2026년 8월 20일, 마이크로소프트가 Entra ID(옛 Azure Active Directory)에서 CVSS 최고점인 10.0짜리 원격 코드 실행 취약점 CVE-2026-69836을 공개했다. 인증도 사용자 개입도 없이 네트워크만으로 공격이 성립하는 조건을 모두 만족하는 조합이다. 원인은 CWE-502, 신뢰할 수 없는 데이터의 역직렬화다.
역직렬화 취약점은 애플리케이션이 외부에서 받은 바이트열을 검증 없이 그대로 객체로 복원할 때 생긴다. 복원 과정 자체가 코드 실행 경로가 되어, 입력을 만든 쪽이 “이 타입으로, 이 값으로 되살아나라”고 지시할 수 있게 된다. Java 역직렬화 가젯 체인이나 .NET BinaryFormatter 관련 사고들과 같은 계열의 결함이다.
Entra ID는 Microsoft 365·Azure·수많은 서드파티 앱의 로그인을 검증하는 신원 서비스다. 여기서 RCE가 성립하면 조건부 액세스 정책이나 MFA 같은 하위 방어선은 애초에 우회 대상이 된다.
”고객 조치 불필요”의 의미
MSRC 공지에는 이례적으로 패치 안내가 없다. Entra ID는 마이크로소프트가 직접 운영하는 클라우드 서비스라 취약점도 마이크로소프트 쪽에서만 고칠 수 있고, 이미 고쳤다는 뜻이다. “고객이 할 일 없음”은 안심하라는 말이라기보다, 이용자 입장에서는 검증할 방법도 없다는 뜻에 가깝다. 이 결함이 실제로 공격에 쓰였는지도 마이크로소프트의 발표를 통해서만 알 수 있다.
엇갈리는 “익스플로잇 여부”
바로 이 지점에서 출처들이 갈린다. The Hacker News와 Help Net Security는 8월 21일 “실제 공격에 악용됐다(exploited in the wild)“고 보도했다. 반면 Decrypt는 마이크로소프트가 “악용된 적이 없음을 확인했다”고 전했다. Forkast는 한발 더 나아가, MSRC 공지가 처음엔 “Exploited: Yes”로 표시됐다가 The Hacker News의 문의 이후 8월 21일 “No”로 정정됐다고 보도했다.
그런데 지금(8월 26일 기준) MSRC 공지 페이지를 직접 열어보면 Exploitability 항목은 다시 “Exploited: Yes”로 표시돼 있다. 세 서술이 서로 어긋나는 셈이다. 어느 쪽이 최종값인지 이 글에서 단정하지 않는다. 다만 최고 심각도 취약점의 “악용 여부”라는, 대응 우선순위를 가르는 핵심 필드조차 클라우드 서비스형 CVE에서는 시점에 따라 뒤바뀔 수 있다는 사실 자체가 기록할 값어치가 있다.
개발자가 할 수 있는 것
패치할 대상은 없지만 점검할 것은 있다.
| 점검 항목 | 이유 |
|---|---|
| Entra ID 로그인 로그(8월 20일 전후) 이상 징후 검토 | 마이크로소프트가 공격 시점·규모를 공개하지 않음 |
| 서드파티 앱의 Entra ID 연동 토큰 재발급 검토 | RCE가 성립했다면 신원 계층 위조 가능성을 배제 못함 |
| 조건부 액세스 정책을 유일한 방어선으로 두지 않기 | 신원 서비스 자체가 뚫리면 정책도 우회 대상이 됨 |
| 공지의 “익스플로잇 여부” 필드를 고정값으로 신뢰하지 않기 | 같은 CVE도 재조회 시 값이 바뀔 수 있음 |
Entra ID처럼 여러 회사가 나눠 쓰는 신원 서비스의 CVE는 앞으로도 이런 형태 — 패치 없는 투명성 공지 — 로 나올 가능성이 크다. 공지 문구를 그대로 받아들이기보다 여러 출처를 겹쳐 읽는 습관이, 바로 이런 사례에서부터 필요하다.
이 글에 대한 의견은 아래 댓글로 남겨주세요 (GitHub 계정 필요). 로그인 없이 남기고 싶다면