Node.js 환경에서 Microsoft 인증 라이브러리(@azure/msal-node)를 사용하는 서비스 중 기밀 클라이언트(Confidential Client)로 인증 응답을 처리하는 시스템에서 정보 노출 취약점이 발생할 수 있습니다. 특히 ConfidentialClientApplication을 쓰는 서비스가 위험에 노출됩니다.
CVE-2026-109461 취약점 개요
Microsoft Authentication Library(MSAL)의 Node.js 패키지에서 기밀 클라이언트의 인증 응답 처리와 관련해 정보 노출 취약점(CVE-2026-109461)이 보고되었습니다. CNA(CVE Numbering Authority)인 Microsoft는 이 문제를 ‘Microsoft Authentication Library (MSAL) for Node.js Information Disclosure Vulnerability’로 공식 등록했습니다.
기술적 분석 및 수정 사항 (PR #8901)
이 취약점을 해결하기 위해 유지보수 저장소에 ‘Sanitize confidential client authorization response payload’라는 제목의 PR #8901이 제출되었습니다.
구체적인 코드 수준의 변경 사항은 다음과 같습니다.
- ConfidentialClientApplication.ts 수정: 기밀 클라이언트의 인증 응답 처리 로직에 검증(validation) 단계와 페이로드 sanitization 기능이 들어갔습니다.
- NodeAuthError.ts 수정:
lib/msal-node/src/error/NodeAuthError.ts파일에unsupported-flow오류 유형을 추가했습니다.
영향 범위 및 대상
이번 취약점은 MSAL Node 라이브러리를 사용하는 모든 환경에 잠재적인 영향을 미칩니다. 특히 아래 설정에 해당하는 서비스는 주의가 필요합니다.
영향 받는 주요 구성 요소
- 라이브러리: @azure/msal-node 패키지를 사용하는 Node.js 기반 애플리케이션.
- 클라이언트 유형:
ConfidentialClientApplication클래스로 인증을 구현한 서비스.
취약점 관련 정보 요약
| 항목 | 내용 |
|---|---|
| CVE 식별자 | CVE-2026-109461 |
| 취약점 명칭 | Microsoft Authentication Library (MSAL) for Node.js Information Disclosure Vulnerability |
| 영향 범위 | @azure/msal-node, ConfidentialClientApplication 사용 서비스 |
| 핵심 수정 사항 | 페이로드 Sanitization 및 검증 로직 추가 (PR #8901) |
대응 방안 및 권고 사항
인프라 보안 담당자와 개발자는 서비스에 사용 중인 @azure/msal-node 패키지의 버전을 확인한 뒤 최신 보안 패치가 적용된 버전으로 업데이트하면 됩니다.
- 버전 업데이트 확인: @azure/msal-node v7.1.0 릴리스 페이지를 확인해 보면 해당 릴리스의 공개 시각이 10월 13일 22:47로 되어 있습니다.
- 패치 적용: 최신 버전으로 업데이트합니다.
- 로그 및 모니터링:
NodeAuthError.ts에 추가된unsupported-flow오류가 로그에 빈번하게 발생하는지 모니터링해서, 비정상적인 인증 요청 시도가 있는지 살피는 것이 좋습니다.
Node.js 환경에서 Microsoft Identity Platform으로 기업용 애플리케이션을 운영한다면 인증 라이브러리의 취약점은 중요한 보안 요소입니다. 신속한 패치 적용과 함께 기밀 클라이언트의 설정과 응답 처리 프로세스도 다시 점검해 보시길 바랍니다.