이번 레드팀 실습 중에 우리는 Node.js, Bun, Envoy 등 많은 소프트웨어에 포함되어 널리 배포된 압축 라이브러리인 Brotli에서 인증되지 않은 원격 코드 실행을 허용하는 취약점도 발견했습니다.
이 결함으로 인해 공격자는 사용자 계정을 생성할 필요 없이 악성 압축 데이터를 전송하거나 응답으로 보내어 영향을 받는 시스템에서 자신의 코드를 실행할 수 있습니다. 즉, 압축 입력을 허용하는 패치되지 않은 서버는 악성 클라이언트에 의해, 그리고 압축 입력(예: “curl --compressed”)을 허용하는 패치되지 않은 클라이언트는 악성 서버에 의해 장악될 수 있습니다.
이 근본 원인 문제는 실제로 2월에 Brotli 소스 코드에서 수정되었지만, 당시에는 그것이 보안 취약점을 야기한다는 것이 알려지지 않았고 더 최근의 Brotli 릴리스도 없었습니다. Brotli는 다른 소프트웨어에 내장되어 있으므로, 이 라이브러리를 포함하는 모든 소프트웨어도 업데이트를 적용해야 하며, 그 뒤를 이어 해당 소프트웨어의 사용자들도 적용해야 합니다. 우리는 Brotli와 Node.js 등 다른 다운스트림 프로젝트에 이 취약점을 공개했으며, 이들은 보안 업데이트를 배포했거나 현재 배포하고 있고, Brotli는 새 릴리스 버전을 만들고 CVE를 발표했습니다.
패치 및 완화 조치에 대한 자세한 내용은 아래를 참조하십시오:
https://patchtheplanet.org/brotli