jsonscraper

Brotli 취약점, .NET과 Node.js에 영향: 앱 확인 및 업데이트 방법

CVE-2026-111497은 특수하게 조작된 Brotli 데이터 처리와 관련이 있습니다. 런타임 버전뿐 아니라 디코더가 실제로 사용되는지도 확인하세요.

편집 정책 오류 제보

앱이 일반 HTTPS 트래픽을 받더라도 사용자가 제공한 Brotli 데이터를 압축 해제하면 위험한 입력을 처리할 수 있습니다. 2026년 10월 25일 Microsoft는 Brotli 디코더의 버퍼 오버플로를 해결하는 .NET 긴급 업데이트를 발표했습니다. 이 취약점은 CVE-2026-111497로 식별됩니다. Node.js는 10월 21일 별도의 보안 릴리스에서 같은 취약점의 수정 사항을 포함했습니다. 개발자가 가장 먼저 할 일은 외부 데이터가 디코더에 도달하는 경로를 찾아 런타임을 업데이트한 다음 앱을 다시 빌드하거나 재시작하는 것입니다.

기사: Brotli 취약점, .NET과 Node.js에 영향: 앱 확인 및 업데이트 방법
요약: 10월 25일 Microsoft는 Brotli 디코더 취약점 CVE-2026-111497에 대한 .NET 긴급 패치를 발표했습니다. Node.js도 10월 21일 보안 릴리스에 같은 취약점의 수정 사항을 포함했습니다. 위험을 평가하려면 어떤 앱이 신뢰할 수 없는 데이터를 디코딩하는지, 배포 환경에서 어떤 라이브러리 버전이 실행되는지 확인하세요.
이미지 역할: 표지 — 핵심 개념
섹션: 
시각적 주제: Brotli 압축
© jsonscraper · AI 생성 일러스트

Microsoft의 설명에 따르면 .NET 취약점으로 인해 인증되지 않은 공격자가 프로세스 메모리를 읽거나 손상시킬 수 있으며, 그 결과 데이터 유출, 서비스 거부 또는 권한 상승이 발생할 수 있습니다. .NET 8, 9, 10 및 .NET 11 Release Candidate 3용 수정 사항이 게시되었습니다. .NET 8의 경우 runtime 8.0.33과 SDK 8.0.133 또는 8.0.427이 명시되어 있습니다. .NET Framework는 이 취약점의 영향을 받지 않습니다.

취약점 노출이 발생하는 경로

앱이 신뢰할 수 없는 Brotli 스트림을 취약한 디코더에 전달할 때 위험이 발생합니다. .NET에서는 ASP.NET Core 요청 압축 해제 기능을 사용하거나, HttpClient를 통해 응답을 자동으로 압축 해제하거나, BrotliStream 및 BrotliDecoder 같은 System.IO.Compression API를 직접 호출할 때 이런 일이 생길 수 있습니다. .NET 권고문은 이러한 경로를 나열하고, 기본적으로 수신 요청의 압축 해제와 응답의 자동 압축 해제가 꺼져 있다고 설명합니다.

패키지 목록은 점검의 시작일 뿐입니다. 미들웨어 및 HTTP 클라이언트 설정, 디코더 직접 호출, 압축 데이터를 받는 타사 구성 요소를 찾아보세요. 해당 데이터가 클라이언트, 웹훅, 프록시 또는 외부 API에서 들어오는지, 압축 해제 전에 크기와 처리 시간 제한이 설정되어 있는지도 확인하세요. 이를 통해 취약한 코드가 외부에서 제어할 수 있는 데이터를 받는 위치를 파악할 수 있습니다.

.NET 업데이트

사용 중인 브랜치에 맞는 업데이트를 설치하세요. .NET 8은 8.0.33, .NET 9는 9.0.22, .NET 10은 10.0.14이며, .NET 11은 Release Candidate 3입니다. 프레임워크 종속 앱은 업데이트된 runtime을 설치하고 앱을 재시작하세요. 자체 포함 앱은 다시 빌드하고 게시해야 합니다. 호스트의 runtime 업데이트만으로는 앱에 포함된 복사본이 교체되지 않습니다. 컨테이너는 업데이트된 .NET 이미지로 다시 빌드하고 배포하세요.

NativeAOT를 사용하는 경우에도 다시 게시할 때 업데이트된 SDK와 runtime 패키지를 사용하세요. 수정 사항을 즉시 배포할 수 없다면, 신뢰할 수 없는 데이터를 받는 것으로 확인된 입력 경로에서 Brotli를 일시적으로 비활성화하세요. 일반 요청과 통합 기능을 테스트하세요. 압축을 비활성화하면 압축된 본문을 보내는 클라이언트의 처리가 달라질 수 있습니다.

Node.js와 시스템 종속성 확인

Node.js 프로젝트는 10월 21일 취약점에 대해 공지했습니다. Node.js 22.x, 24.x, 26.x에 내장된 Brotli 디코더가 영향을 받습니다. Node.js 보안 릴리스에는 각각 22.23.4, 24.22.1, 26.12.1이 수정 버전으로 명시되어 있습니다. 사용 중인 지원 브랜치를 업데이트하고 서비스를 재시작하세요. 프로젝트 설명에 따르면 앱이 node:zlib를 사용해 공격자가 제공한 데이터를 압축 해제할 때 문제가 발생합니다. 메모리 손상으로 인해 비정상 종료, 메모리 유출 또는 원격 코드 실행이 일어날 수 있습니다.

시스템 Node.js 또는 .NET과 별도로 제공되는 종속성도 확인하세요. 컨테이너와 빌드 산출물에 포함된 Brotli 버전을 확인한 다음 배포 후 다시 점검하세요. CI에서 업데이트된 기본 이미지를 고정하고, 일반 빌드 프로세스에 취약한 라이브러리 버전 검사를 포함하세요.

간단한 대응 순서

  1. Brotli를 사용하는 앱, SDK, runtime, 컨테이너 및 NativeAOT 빌드 목록을 작성합니다.
  2. 외부 데이터가 자동 또는 직접 디코딩되는 위치를 찾습니다.
  3. .NET, Node.js 및 별도로 제공되는 라이브러리를 수정 버전으로 업데이트하고, 자체 포함 앱과 컨테이너를 다시 빌드합니다.
  4. 프로세스를 재시작하고 프로젝트 파일뿐 아니라 실행 중인 환경에서도 버전을 확인합니다.
  5. 수정 사항이 배포될 때까지 확인된 취약 경로에서 신뢰할 수 없는 Brotli 입력 처리를 제한합니다.

우선순위는 취약한 구성 요소의 존재 여부와 특수하게 조작된 압축 스트림을 해당 구성 요소에 전달할 수 있는지에 따라 달라집니다. 업데이트는 결함을 해결하고, 입력 경로를 파악하면 수정 사항이 프로세스, 자체 포함 빌드 및 컨테이너에 실제로 적용되었는지 확인하는 데 도움이 됩니다.

People

No people listed for this article yet.

Keep readingGitHub CLI, 만료되는 OAuth 토큰 추가: 활성화 및 연동 확인 방법
Read the next article

읽은 내용을 실제 연동으로 구현하세요

jsonscraper 소셜 데이터 API를 살펴보고 요청을 테스트하여 다음 워크플로를 구축하세요.

API 둘러보기