RHSB-2026-015 범위를 벗어난 쓰기 - Google Brotli 디코더 (CVE-2026-111497) - "node2shell"
갱신됨
이 정보가 도움이 되었나요?
피드백이 취소되었습니다
요약
이 문제는 CVE-2026-111497로 지정되어 있으며 중요 (Important) 보안 영향을 미치는 것으로 분류하고 있습니다.
Google Brotli 디코더에서 범위를 벗어난 쓰기(out-of-bounds write) 취약점이 확인되었습니다. 조작된 Brotli 압축 데이터 스트림은 신뢰할 수 없는 Brotli 입력의 압축을 해제하는 모든 애플리케이션의 메모리를 손상시켜 잠재적으로 정보 유출, 서비스 거부 또는 임의 코드 실행으로 이어질 수 있습니다. 영향을 받는 애플리케이션에는 웹 브라우저(Firefox, Thunderbird), Node.js 런타임, br HTTP 콘텐츠 인코딩을 사용하는 웹 서버, brotli 라이브러리에 링크되어 외부에서 제공된 데이터를 처리하는 모든 서비스가 포함됩니다.
신뢰할 수 없는 소스의 Brotli 데이터를 압축 해제하는 애플리케이션이 없는 환경은 실제로 영향을 받지 않습니다. 취약점 노출 여부를 신속하게 확인하려면 다음 사항을 점검하십시오.
brotli,firefox,thunderbird또는nodejs패키지가 설치되어 신뢰할 수 없는 입력 데이터에 노출될 수 있는지 확인합니다.- 외부 또는 신뢰할 수 없는 피어로부터
Content-Encoding: br가 포함된 HTTP 요청이나 응답을 수신하는 서비스가 있는지 확인합니다. - 사용자가 제공한 데이터를 Brotli 압축 해제 API(예: Node.js
zlib.brotliDecompress(),br3> 인코딩을 사용하는fetch(), 또는brotli` C 라이브러리 직접 호출)에 전달하는 애플리케이션이 있는지 확인합니다.
이러한 조건 중 어느 것도 해당하지 않는다면 해당 환경이 위험에 노출될 가능성은 낮습니다.
현재 조사가 진행 중이며, 새로운 정보가 확인되는 대로 본 보안 공지가 업데이트될 예정입니다. Red Hat 계정으로 로그인한 다음 아래의 "Follow" 버튼을 클릭하면 이 보안 공지의 변경 사항에 대한 알림을 받을 수 있습니다.
영향을 받는 제품
직접적인 영향을 받는 Red Hat 제품 버전은 다음과 같습니다.
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 9
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 7
Red Hat은 현재 다른 제품에 미치는 영향을 분석 중이며, 조사 진행 상황에 따라 이 목록을 업데이트할 예정입니다.
또한 Red Hat Enterprise Linux (RHEL CoreOS 포함)에서 지원되는 모든 Red Hat 제품도 잠재적으로 영향을 받을 수 있습니다. 여기에는 다음이 포함됩니다.
- RHEL 또는 UBI 컨테이너 이미지를 기반으로 하는 제품 컨테이너입니다. 이러한 이미지는 정기적으로 업데이트되며 이 보안 취약점을 수정할 수 있는지 여부를 나타내는 컨테이너 상태는 Red Hat Container Catalog의 일부인 Container Health Index에서 확인할 수 있습니다. 또한 기본 이미지가 업데이트되면 모든 고객 컨테이너를 다시 빌드해야 합니다.
- RHEL 채널에서 패키지를 가져오는 제품(Red Hat OpenStack Platform, Red Hat Virtualization 등과 같은 계층화된 제품 포함)입니다. 이러한 제품 환경에서 기본 RHEL 패키지가 최신 상태로 유지되고 있는지 확인하십시오.
기술 요약
CVE-2026-111497은 Google Brotli 디코더의 범위를 벗어난 쓰기(out-of-bounds write, CWE-787) 취약점으로, CVSS v3.1 점수는 8.1(CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)입니다. 악의적으로 조작된 Brotli 압축 스트림은 디코더의 블록 유형 전환 처리 로직에서 의도한 버퍼 경계를 벗어난 쓰기 작업을 유발할 수 있습니다. 애플리케이션이 공격자가 제어하는 Brotli 데이터의 압축을 해제할 때, 메모리가 손상되어 정보 유출, 서비스 거부 또는 잠재적인 임의 코드 실행으로 이어질 수 있습니다.
Brotli는 HTTP 콘텐츠 인코딩(br 전송 인코딩)에 널리 사용되는 무손실 압축 알고리즘입니다. Brotli는 Red Hat Enterprise Linux에서 독립 실행형 brotli 패키지로 제공되며, Firefox, Thunderbird, Node.js 및 다양한 계층화된 제품에도 내장되어 있습니다.
조건
취약점을 악용하려면 대상 애플리케이션에서 공격자가 제공한 Brotli 압축 스트림의 압축을 해제해야 합니다. 취약한 코드 경로는 정교하게 조작된 비정상 스트림을 통해 도달할 수 있으며, 일반적으로 올바르게 생성된 인코더 출력에서는 이 문제가 발생하지 않습니다. 일반적으로 취약점에 노출될 수 있는 시나리오는 다음과 같습니다.
- 신뢰할 수 없는 피어와
Content-Encoding: br을 협상하는 HTTP 서버 또는 클라이언트 zlib.brotliDecompress(),zlib.createBrotliDecompress()또는fetch()를 사용하여 Brotli로 인코딩된 응답을 처리하는 Node.js 애플리케이션- 신뢰할 수 없는 사이트에서 Brotli로 압축된 웹 콘텐츠를 로드하는 브라우저(Firefox, Thunderbird)
- 사용자가 제공한 데이터를
brotliC 라이브러리에 직접 전달하는 애플리케이션 또는 서비스
정밀하게 조작된 비정상 스트림을 제공해야 악용이 가능하므로 공격 복잡성은 높음(AC:H)입니다. 기본적으로 Red Hat 제품은 ASLR, NX 메모리, FORTIFY_SOURCE, SELinux 등의 보안 강화 기능을 사용하므로, 안정적인 코드 실행을 달성하기가 더욱 어려워집니다.
완화 방법
일반 지침
신뢰할 수 없는 피어로부터 수신한 Brotli 데이터의 압축을 해제하는 서비스의 노출을 최소화하고, 가능한 경우 해당 서비스에 대한 네트워크 액세스를 제한하십시오. 애플리케이션에서 해당 구성을 지원하는 경우, 신뢰할 수 없는 소스의 Content-Encoding: br를 수락하거나 자동으로 디코딩하지 않도록 설정합니다.
제품별 완화 조치 단계
웹에 노출된 서비스 및 리버스 프록시: 기본 brotli 패키지가 업데이트될 때까지, 신뢰할 수 없는 클라이언트의 요청 및 응답에서 Content-Encoding: br를 제거하거나 거부하도록 리버스 프록시 또는 로드 밸런서를 구성합니다.
Node.js 애플리케이션: 영향을 받는 nodejs 패키지가 업데이트될 때까지, 신뢰할 수 없는 소스에서 수신한 데이터에 대해 zlib.brotliDecompress() 또는 zlib.createBrotliDecompress()를 호출하지 마십시오.
Firefox 및 Thunderbird: 업데이트된 브라우저 패키지가 제공될 때까지 신뢰할 수 없는 사이트 방문을 피합니다. 엔터프라이즈 환경에서는 기존 프록시 또는 방화벽 제어를 통해 신뢰할 수 없는 웹 콘텐츠에 대한 액세스를 제한하는 방안을 고려할 수 있습니다.
기술적 세부 사항
배경 정보
Brotli는 Google에서 개발한 무손실 데이터 압축 알고리즘으로, br 토큰(RFC 7932) 기반의 HTTP 콘텐츠 인코딩에 널리 채택되어 있습니다. Brotli는 Red Hat Enterprise Linux에서 brotli 패키지 및 Python 바인딩(python-brotli, python3-brotli, python3.12-brotli6>}) 형태로 배포됩니다. Firefox와 Thunderbird는 브라우저 측 HTTP 압축 해제를 위해 자체 사본을 내장하고 있습니다. Node.js는 zlib모듈의 일부로 brotli를 번들로 제공합니다. JBoss Core Services는 JBoss HTTP 서버와 함께 사용할 수 있도록 이를jbcs-httpd24-brotli`로 제공합니다.
영향을 받는 제품의 업데이트
영향을 받는 Red Hat 제품 버전을 실행 중인 모든 Red Hat 고객은 에라타를 사용할 수 있는 즉시 해당 제품을 업데이트할 것을 권장합니다. 사용 가능한 업데이트를 즉시 적용하고 필요에 따라 완화 조치를 활성화하십시오.
참고 자료
How to use GPG to verify signed content from Product Security
Comments