OpenAI의 Codex가 Node.js Brotli ... 노트

OpenAI의 Codex가 Node.js Brotli RCE를 발견했습니다. Imperva가 공식 빌드에서 코드를 실행했습니다.

Node.js 내 Brotli 디코더에서 치명적인 취약점(CVE-2026-111497)이 발견되어 메모리 손상, 정보 유출 또는 원격 코드 실행 가능성이 있습니다. 이 버그는 Node.js 버전 22, 24, 26에 영향을 미치지만, Node 20은 수정되지 않습니다. 이 문제는 잘못된 블록 스위치를 만났을 때 디코더가 8바이트 내부 버퍼를 넘어 데이터를 추가하려고 시도하는 것에서 비롯됩니다. OpenAI Codex Security의 연구원들이 이 결함을 보고했으며, Imperva는 표준 Node.js 이미지에서 코드 실행을 성공적으로 시연했습니다.이 취약점은 Node.js 애플리케이션이 가져온 압축된 응답 또는 Express 5와 같은 프레임워크에서 처리하는 Brotli로 인코딩된 요청 본문에 의해 트리거될 수 있습니다. 코드 실행은 테스트에서 여러 번의 시도가 필요했지만, 서비스 거부 또는 제한적인 메모리 읽기로 이어지는 충돌은 더 쉽게 달성할 수 있습니다. 공식 Node.js 보안 권고는 일부 매체에서 더 높은 CVSS 점수를 부여했음에도 불구하고 이 버그를 "치명적"이 아닌 "높음"으로 평가합니다.수정 사항은 Node.js 버전 22.23.4, 24.22.1, 26.12.1에서 사용할 수 있습니다. 중요한 것은 Node 20 및 이전 버전은 지원이 종료되어 패치가 제공되지 않으므로 업그레이드가 필요하다는 것입니다. 이번 업데이트는 또한 고위험 TLS 및 DNS 문제를 포함한 다른 9개의 CVE도 해결합니다.조직은 컨테이너 이미지, CI 러너 및 VM에 내장된 Node.js 인스턴스를 포함하여 종종 간과되는 모든 Node.js 인스턴스를 감사해야 합니다. 제공된 check-node.mjs 스크립트는 취약한 Node.js 버전을 식별하는 데 도움이 될 수 있습니다. 개발자는 또한 직접적인 Brotli 압축 해제 호출에 대해 코드를 검토해야 합니다.Vercel의 WAF와 같은 것은 인바운드 공격을 차단할 수 있지만, Node.js가 가져온 응답의 악성 Brotli로부터 보호하지 못하므로 패치의 지속적인 필요성을 강조합니다. 이 취약점은 배포된 런타임에 대한 포괄적인 이해의 중요성을 강조하며, 이는 저자의 책 "Ship It"에서 다루는 주제입니다. 저자는 또한 개발자를 위한 AI 기반 IDE인 Hermes IDE를 개발합니다.
CdXz5zHNQW_WGD8ybkYPu.webp