.NET 긴급 보안 업데이트 받는 법 (Brotli 취약점)

.NET 긴급 보안 업데이트 받는 법 (Brotli 취약점)

.NET 8, 9, 10과 .NET 11 RC3을 위한 긴급 보안 업데이트가 공개됐습니다. 구글의 Brotli 압축 알고리즘의 버퍼 오버플로우 취약점을 패치하는 것이 핵심입니다. 마이크로소프트는 가능한 한 빨리 업데이트할 것을 권장합니다.

어떤 취약점을 고치나

이번 업데이트는 두 가지 보안 문제를 해결합니다. 첫 번째는 CVE-2026-111497로, Brotli 압축 해제 알고리즘의 버퍼 오버플로우 취약점입니다. 인증되지 않은 공격자가 프로세스 메모리를 읽거나 손상시킬 수 있으며, 정보 유출, 서비스 거부, 권한 상승으로 이어질 수 있습니다.

두 번째는 CVE-2026-114148로 리눅스 환경에만 영향을 줍니다. .NET 타르볼의 소유권 메타데이터 문제로, 로컬 공격자가 파일을 수정하고 권한을 높일 수 있습니다. .NET 10과 11은 소스 빌드 타르볼만 영향을 받지만, .NET 8과 9는 ASP.NET Core 타르볼 배포판도 포함됩니다.

이번 업데이트는 또한 이전에 완전히 해결되지 않았던 두 개의 다른 취약점도 포칭합니다. CVE-2026-70197(SocketAsyncEventArgs 메모리 손상)은 .NET 8, 9, 10, 11을 영향을 주며, CVE-2026-102870(Blazor WebAssembly 디버거)은 .NET 10과 11에 영향을 줍니다.

누구에게 영향을 주나

모든 플랫폼에서 CVE-2026-111497의 영향을 받습니다. 다만 실제 위험은 애플리케이션이 Brotli 압축 데이터를 처리하는 방식에 따라 달라집니다. ASP.NET Core 요청 압축 해제, HttpClient의 자동 응답 압축 해제, System.IO.Compression Brotli API를 통해 Brotli 압축 데이터를 처리하는 애플리케이션이 해당합니다. 다만 요청 압축 해제와 자동 응답 압축 해제는 기본값으로 활성화되지 않습니다. .NET Framework는 영향을 받지 않습니다.

공격자는 특별히 제작된 요청을 통해 악의적인 Brotli 압축 데이터를 취약한 시스템에 제공함으로써 이 취약점을 악용할 수 있습니다. 마이크로소프트의 보안 자문에 따르면 작동하는 악용 코드가 이미 존재하지만, 현재 성공적인 공격에 악용되고 있다는 증거는 없습니다. 다만 악용 가능성은 높다고 평가됩니다.

업데이트 버전과 다운로드

각 .NET 버전의 업데이트 버전은 다음과 같습니다.

.NET 버전업데이트된 버전다운로드
.NET 88.0.33SDK 및 런타임
.NET 99.0.22SDK 및 런타임
.NET 1010.0.14SDK 및 런타임
.NET 11Release Candidate 3SDK 및 런타임

.NET 11을 RC2(Release Candidate 2) 버전으로 사용 중이라면 RC3으로 업데이트해야 이번 보안 패치를 받을 수 있습니다.

애플리케이션을 업데이트하는 방법

업데이트 방식은 애플리케이션 구성 방식에 따라 다릅니다. 프레임워크 종속 애플리케이션의 경우 먼저 애플리케이션이 대상으로 하는 .NET 버전의 업데이트된 런타임을 설치한 뒤 애플리케이션을 다시 시작합니다.

자체 포함 애플리케이션을 배포한 경우라면 더 복잡합니다. 애플리케이션을 업데이트된 런타임으로 다시 빌드하고 다시 배포해야 합니다. 호스트에 새로운 런타임을 설치하는 것만으로는 애플리케이션에 번들로 포함된 런타임이 업데이트되지 않기 때문입니다.

컨테이너 환경에서는 컨테이너 이미지를 업데이트된 런타임으로 다시 빌드해야 합니다.

Brotli 취약점이 얼마나 광범위한가

이 취약점은 .NET뿐만 아니라 업계 전반에 영향을 미칩니다. Node.js, Python, Bun, Envoy, Istio 등 다양한 소프트웨어 프로젝트가 패치를 공개했습니다. Apache Arrow도 영향을 받으며, FFmpeg는 특별히 제작된 JPEG XL 이미지를 통한 악용 가능성이 보도됐습니다. FFmpeg는 이미지 메타데이터 압축 해제를 위해 libjxl 라이브러리를 사용하는데, 이를 통해 Brotli에 도달할 수 있습니다.

클라우드 환경의 노출이 특히 심각합니다. 클라우드 환경의 91%가 Brotli 취약점에 노출된 구성 요소에 의존하고 있으며, 82%의 클라우드 환경이 공개적으로 노출된 Node.js 인스턴스를 보유하고 있습니다. 컨테이너화된 애플리케이션, 쿠버네티스 클러스터, API 게이트웨이, 리버스 프록시, 서버리스 워크로드, 클라우드 호스팅 웹 서비스 등 다양한 클라우드 구성 요소에서 Brotli가 광범위하게 사용되고 있기 때문입니다.

패치 전까지 할 수 있는 임시 대책

오픈AI는 패치를 적용할 수 있을 때까지 신뢰할 수 없는 Brotli 압축 데이터를 차단할 것을 권장했습니다. 또한 영향을 받는 배포를 다시 빌드하고 서비스를 다시 시작하여 수정사항이 적용되도록 해야 합니다.

자주 묻는 질문

지금 바로 업데이트해야 하나요?

마이크로소프트는 가능한 한 빨리 업데이트할 것을 권장합니다. 작동하는 악용 코드가 존재하고 악용 가능성이 높다고 평가되었기 때문입니다.

.NET Framework를 사용하는데 업데이트해야 하나요?

.NET Framework는 이번 취약점의 영향을 받지 않으므로 별도의 업데이트가 필요하지 않습니다.

요청 압축 해제를 사용하지 않으면 안전한가요?

요청 압축 해제와 자동 응답 압축 해제가 기본값으로 활성화되지 않기 때문에, 이 기능들을 명시적으로 활성화하지 않은 대부분의 애플리케이션은 즉각적인 위험이 낮습니다. 다만 System.IO.Compression Brotli API를 직접 사용하거나 의존하는 라이브러리가 있다면 여전히 취약할 수 있습니다.

출처

Post a Comment

다음 이전