METAL for iPhone

AI 뉴스, 이제 앱에서 읽으세요.

METAL 앱을 다운로드하고 매일 새로운 AI 기사를 만나보세요.

App Store에서 다운로드

iPhone용 앱 · 무료 다운로드

iPhone의 App Store에서도 ‘메탈 AI 매거진’을 검색할 수 있습니다.

METAL

오픈AI, 브로틀리 원격 코드 실행 취약점 공개

오픈AI가 훈련 환경 레드팀 실험에서 압축 라이브러리 브로틀리의 원격 코드 실행 취약점을 찾아 공개했다. Node.js·Bun·Envoy·이스티오가 수정판을 냈고 근본 원인은 2월에 이미 고쳐져 있었다.

오픈AI, 브로틀리 원격 코드 실행 취약점 공개 · Image: METAL LAB

이미지: METAL

요약

  • 오픈AI는 10월 23일 브로틀리(Brotli)에서 인증 없이 원격 코드 실행이 가능한 취약점 CVE-2026-111497을 찾아 공개했다고 밝혔다.
  • Node.js는 10월 21일 22.23.4·24.22.1·26.12.1로 취약점 10건을 고쳤고, Bun 1.4.4와 Envoy·이스티오, 원본 브로틀리 1.0.10·1.1.1·1.2.1도 수정판을 냈다.
  • 근본 원인은 2월 소스 코드에서 고쳐졌지만 보안 문제로 인식되지 않았고 새 릴리스도 없어 하위 소프트웨어에 전달되지 않았다.
발표
2026년 10월 23일(미국 시간) · @OpenAI X · 패치 더 플래닛 공개 페이지
취약점
CVE-2026-111497 · 브로틀리 디코더 경계 밖 쓰기 · 인증 없는 원격 코드 실행
발견 경위
오픈AI 프런티어 훈련 환경 레드팀 실험
공격 방식
조작된 압축 데이터 송신·응답 · 계정 불필요 · 서버·클라이언트 양쪽
기술 원인
잘못된 블록 전환을 일시적 입력 부족으로 보고 · 8바이트 내부 버퍼 뒤로 계속 기록
영향
충돌 · 프로세스 메모리 노출 · 원격 코드 실행
근본 원인 수정
2월 브로틀리 소스 코드 · 당시 보안 문제로 미인식 · 새 릴리스 없음
Node.js
10월 21일 22.23.4·24.22.1·26.12.1 · 취약점 10건 · 높음 4건
신고자
오픈AI 코덱스 시큐리티 카이 트란·실비 메이어
Bun
1.4.4(브로틀리 1.2.1 포함)
Envoy
1.40.0·1.39.3·1.38.6·1.37.8 · 1.36.12는 지원 종료 가지
이스티오
1.29.9·1.30.6·1.31.2 · 1.29 수명 종료
원본 브로틀리
1.0.10·1.1.1·1.2.1
임시 조치
Content-Encoding: br 요청 거부 · 클라이언트 자동 해제 끄기 · Next.js 이미지 최적화 끄기
조율
OpenJS 재단
악용
보도 기준 실제 악용·공개 개념 증명 미확인

오픈AI가 널리 쓰이는 압축 라이브러리 브로틀리(Brotli)에서 인증 없이 원격 코드 실행이 가능한 취약점을 찾아 공개했다고 10월 23일(미국 시간) X를 통해 밝혔다. 취약점 번호는 CVE-2026-111497이다. 프런티어 모델 훈련 환경을 상대로 벌인 레드팀 실험 도중 나온 발견이다. 브로틀리를 내장한 Node.js, Bun, Envoy 같은 소프트웨어는 이미 수정판을 냈고, 구글이 관리하는 원본 브로틀리도 1.0.10·1.1.1·1.2.1을 새로 배포했다.

위험은 압축 데이터를 받는 쪽 어디에나 걸려 있다. 오픈AI는 공격자가 악의적으로 조작한 압축 데이터를 보내거나 응답으로 돌려주기만 하면 사용자 계정을 만들 필요도 없이 대상 시스템에서 자기 코드를 실행할 수 있다고 설명했다. 회사는 "패치되지 않은 서버가 압축된 입력을 받으면 악의적인 클라이언트에 장악될 수 있고, 압축된 입력을 받는 패치되지 않은 클라이언트는 악의적인 서버에 장악될 수 있다"고 밝혔다. 클라이언트 쪽 예시로는 압축 응답을 풀어 받는 curl --compressed 명령을 들었다.

결함의 뿌리는 디코더가 잘못된 입력을 분류하는 방식에 있다. Node.js 프로젝트의 10월 21일 보안 권고에 따르면 잘못된 블록 전환이 영구적인 형식 오류가 아니라 입력이 조금 더 필요하다는 일시적 상태로 보고됐다. 그 탓에 스트리밍 디코더는 8바이트짜리 내부 버퍼 뒤로 입력 바이트를 계속 이어 붙였고, 버퍼 경계를 넘는 쓰기가 일어났다. 권고문은 공격자가 node:zlib로 풀리는 브로틀리 데이터를 넣을 수 있으면 프로세스 메모리를 망가뜨려 충돌, 메모리 노출, 원격 코드 실행으로 이어질 수 있다고 적었다. Node.js는 이 항목의 제목을 "원격 코드 실행을 허용한다"로 달고 심각도를 높음으로 분류했다.

시간표는 이례적이다. 오픈AI에 따르면 이 근본 원인은 이미 2월에 브로틀리 소스 코드에서 고쳐졌다. 회사는 "당시에는 그것이 보안 취약점으로 이어진다는 사실이 알려지지 않았고, 그 뒤로 더 최근의 브로틀리 릴리스도 없었다"고 설명했다. 수정 코드가 저장소에 있었지만 배포판이 나오지 않아 브로틀리를 가져다 쓰는 소프트웨어에는 전달되지 않은 셈이다. 오픈AI는 브로틀리와 Node.js 등 하위 프로젝트에 취약점을 알렸고, 브로틀리는 새 릴리스와 CVE를 냈다고 밝혔다.

메탈이 확인한 Node.js 권고문을 보면 10월 21일 22.23.4, 24.22.1, 26.12.1 세 버전에서 취약점 10건이 고쳐졌고 그중 4건이 높음 등급이다. 브로틀리 결함 외에 TLS 인증서 호스트 이름 검증 우회 2건과 NUL 문자가 든 이름을 잘라 버리는 dns.resolve 결함이 같은 등급에 들었다. 브로틀리 항목의 신고자는 오픈AI 코덱스 시큐리티 소속 카이 트란(Khai Tran)과 실비 메이어(Sylvie Mayer)로 기재됐고, 수정은 Node.js 메인테이너 mcollina와 aduh95가 맡았다. 대응 조율은 OpenJS 재단이 도왔다.

오픈AI가 오픈소스 공개용으로 운영하는 「패치 더 플래닛」 페이지는 10월 23일 기준 수정판을 정리했다. Bun은 브로틀리 1.2.1을 담은 1.4.4, Envoy 프록시는 1.40.0·1.39.3·1.38.6·1.37.8이다. Envoy 1.36.12에도 수정이 들어갔지만 지원이 끝난 가지라 지원 중인 버전으로 옮기라고 권했다. 이스티오(Istio)는 1.29.9·1.30.6·1.31.2가 수정판이며, 1.29는 수명이 끝난 버전으로 분류됐다.

영향 범위는 공격자가 고른 데이터를 브로틀리 디코더에 넘기는 모든 애플리케이션이다. 압축된 HTTP 요청 본문, 신뢰할 수 없는 서버에서 받아 온 응답, 압축 파일이 모두 해당한다. 당장 패치할 수 없다면 프록시나 미들웨어가 풀기 전에 Content-Encoding: br 요청을 거부하라고 페이지는 안내했다. 응답 쪽은 HTTP 클라이언트의 자동 브로틀리 해제를 꺼야 한다. 페이지는 "Accept-Encoding에서 br을 빼는 것만으로는 서버가 그것을 보내는 것을 막지 못한다"고 경고했다. CDN이나 웹 서버에서 브로틀리 응답 압축을 끄는 조치, 요청 크기 제한과 웹 방화벽 규칙도 모든 해제 경로를 막지 못한다. Next.js는 Node.js를 패치할 때까지 내장 이미지 최적화를 끄라는 안내가 붙었다.

브로틀리 취약점 수정판 표. Node.js, Bun, Envoy 프록시, 이스티오, 원본 브로틀리의 패치 상태와 수정 버전을 정리했다

보도에 따르면 Node.js 팀은 실제 악용 사례를 보고하지 않았고, 공개된 개념 증명 코드도 확인되지 않았다. 메탈은 오픈AI가 패치 더 플래닛으로 PHP 치명적 취약점 공동 대응에 나섰다고 보도한 바 있으며, 이번 브로틀리 건을 낳은 프런티어 훈련 환경 보안 강화와 레드팀 실험도 전했다. 오픈AI의 이번 X 글은 조회수 94만 회를 넘겼다.

테크 변호사의 눈으로 보면 이 사건의 쟁점은 공급망에서 책임이 넘어가는 지점이다. 오픈AI는 브로틀리가 다른 소프트웨어에 내장돼 있어 이 라이브러리를 품은 소프트웨어가 먼저 업데이트를 받고, 그다음 그 소프트웨어의 사용자가 다시 받아야 한다고 짚었다. 수정 코드는 2월에 있었지만 CVE 번호와 릴리스가 붙기까지 약 8개월 동안 하위 프로젝트가 패치를 받아 갈 신호는 없었다. 이제 번호가 붙은 이상 컨테이너 이미지를 다시 빌드하고 오래된 빌드로 도는 서비스와 작업, 복제본을 모두 재시작하는 일은 운영자 몫이 됐다. 페이지는 실행 중인 바이너리를 공급사 수정판과 대조하고 임시 차단이 브로틀리를 풀기 전에 막는지까지 확인하라고 권했다. AI 에이전트가 찾은 취약점이 사람의 공개 절차를 따라 처리되는 사례가 늘면서, 패치를 받아 가는 속도가 새 병목으로 떠올랐다.

김현국

METAL 발행인 · 아카이브저널 발행인 · 이라선 운영

매거진·서점·교육을 오래 해 온 편집자예요. 라이프스타일 매거진 <아카이브저널>을 발행하고, 아트 서점 <이라선>을 운영했으며, 라이카 아카데미에서 디렉터로 사진 교육 프로그램을 만들고 이끌었어요. 그 시선으로 전 세계 AI 소식을 독자에게 전하는 메탈(METAL) 매거진 편집장입니다.

이 에디터의 기사 더 보기 →

공유

댓글