무슨 일이 있었나
다섯 개의 CVE(2026년 11월 1일 VulDB, cna@vuldb.com에 의해 게시됨)가 AG-UI 프로토콜 TypeScript 클라이언트를 대상으로 합니다. 두 개는 @ag-ui/client 1.0.0에서 수정되었습니다; 세 개(120234 무제한 오류 본문 읽기, 120236 protobuf 스키마 검증 건너뜀, 120237 인터럽트 만료 중단)는 현재 1.0.3 릴리스에서 미수정 상태이며, 각각 GitHub 이슈에 공개 PoC가 있습니다. 권고에는 GitHub Security Advisory가 없습니다 — VulDB의 CNA를 통해서만 할당 및 게시되었으므로, 저장소/조직 이름을 키로 하는 의존성 스캐너는 이를 놓칠 수 있습니다.
왜 중요한가
AG-UI는 AI 에이전트 백엔드가 상태, 도구 호출 및 생성 UI를 CopilotKit과 같은 에이전트 프론트엔드로 스트리밍하는 프로토콜입니다. 무제한 메모리 증가, 에이전트 실행 상태를 손상시키는 스키마 검증 우회, 스레드의 실행을 영구적으로 중단시키는 메시지는 널리 재사용되는 클라이언트의 에이전트 오케스트레이션 DoS/무결성 결함입니다. 미수정 CVE는 VulDB를 통해서만 추적되고 GHSA 항목이 없으므로, 방어자가 놓치기 쉽습니다.
공격 경로
AI 에이전트 백엔드가 에이전트 프론트엔드로 상태를 스트리밍하는 AG-UI 클라이언트의 여러 취약점: 전송이 오류 응답 전체를 크기 제한 없이 메모리로 읽음(CVE-2026-120234); SSE 파서가 종료되지 않은 스트림 꼬리를 제한 없이 버퍼링함(CVE-2026-120235); protobuf 디코더가 SSE 경로에서 적용되는 스키마 검증을 건너뛰어 잘못된 이벤트가 실행 상태를 손상시킬 수 있음(CVE-2026-120236, 공개 PoC); 인터럽트 만료가 누락된 expiresAt를 만료되지 않는 것으로 처리하여 하나의 RUN_FINISHED 메시지가 스레드의 실행을 영구적으로 중단시킬 수 있음(CVE-2026-120237).
영향받는 시스템
@ag-ui/client / ag-ui-protocol ag-ui 0.0.1–0.0.58 (npm @ag-ui/client; CVE-2026-120234, 120235, 120236, 120237)
완화 방안
CVE-2026-120235 및 CVE-2026-120236은 @ag-ui/client 1.0.0(2026-09-17에 게시됨)에서 수정되었습니다. CVE-2026-120233/120234/120237은 공개, 미병합 PR만 있으며 현재 @ag-ui/client 1.0.3에 포함되지 않았습니다 — 핀/업그레이드만이 유일한 경로이며 전체 수정은 업스트림에서 보류 중입니다.