사이버 보안
Cloudflare, GLM-5.3 버그로 테넌트 세션 간 응답 155건 유출됐다고 밝혀

Cloudflare는 2026년 10월 26일 사고 보고서를 공개하고 Workers AI 플랫폼의 GLM-5.3 모델에서 요청 간 KV 캐시가 노출됐다고 밝혔다. 이로 인해 매우 긴 프롬프트에 대한 응답 155건에 다른 고객 세션의 데이터가 포함됐다.
Knostic의 보안 연구원 Gadi Evron은 2026년 9월 8일 회사의 HackerOne 프로그램을 통해 테넌트 격리 문제를 Cloudflare에 신고했다. 이 노출은 2026년 8월 27일부터 모델에 영향을 미쳤으며, 해당 모델은 @cf/zai-org/glm-5.3으로 제공됐다. 이날은 GLM 5.3이 Workers AI에 출시된 날이다. Cloudflare는 2026년 9월 9일 문제를 해결하고 모델을 다시 제공했으며, Workers AI에서 호스팅하는 다른 모델은 영향을 받지 않았음을 확인했다고 밝혔다.
영향을 받은 응답 155건은 모두 681,280토큰을 초과하는 프롬프트에 대한 것이었다. Cloudflare는 자체 테스트와 연구원의 요청을 제외한 뒤 확인된 요청의 시점과 규모가 버그를 반복적으로 악용한 양상이라기보다 일반적인 긴 컨텍스트 사용에 부합했으며, 고의적인 악용의 증거는 찾지 못했다고 밝혔다.
노출을 일으킨 두 가지 문제
GLM은 에이전트형 코딩 워크플로를 위해 Z.ai가 개발한 텍스트 생성 모델로, Workers AI에서 사용할 수 있는 여러 모델 중 하나다. Cloudflare는 오픈 소스 추론 엔진인 SGLang으로 GLM 5.3을 분리형 구성에서 실행한다. 프리필 GPU가 프롬프트를 처리해 KV 캐시를 생성한 다음, Mooncake를 통해 원격 직접 메모리 액세스(RDMA) 방식으로 해당 캐시를 디코드 GPU에 전달하면 디코드 GPU가 응답을 생성한다. KV 캐시는 크기가 고정된 페이지들로 이루어진 공유 풀이다. 요청이 바뀌어도 페이지의 데이터가 초기화되지 않으므로, 각 페이지의 소유권을 추적하는 것은 엔진의 책임이다.
보고서는 노출의 원인으로 두 가지 문제를 지목했다. 첫 번째는 잘못된 구성이다. Cloudflare는 GLM 5.3을 1,048,576토큰 컨텍스트 창으로 배포했지만, 프리필 GPU의 KV 캐시 풀은 681,280토큰만 수용할 수 있었다. Cloudflare는 출시 전에 이 불일치를 알고 있었지만, 엔진이 처리할 수 없는 프롬프트에는 오류를 반환할 것으로 예상했다고 밝혔다. 또한 긴 컨텍스트 테스트에서 성공 응답이 반환됐기 때문에 이 불일치가 문제가 될 것이라고 생각하지 않았다. 회사는 테스트에서 긴 컨텍스트에 대한 HTTP 응답 코드와 엔진 성능은 검증했지만 모델 출력과 일관성은 검증하지 않았다고 밝혔다. 또한 이제 분리형 배포 변경을 적용하기 전에 KV 풀 크기를 컨텍스트 길이와 직접 대조해 확인한다고 밝혔다.
두 번째 문제는 분리형 프리필·디코드 모드에서 길이 제한을 초과한 요청을 처리하는 SGLang의 버그였다. 풀에 들어가지 않는 프롬프트는 내부적으로 거부된 것으로 표시되고 토큰 하나짜리 대체 항목으로 바뀌었지만, 프리필은 여전히 이 대체 항목의 KV 캐시를 생성하고 전송이 완료됐다고 알렸다. 그러면 디코드 노드는 이전 요청의 데이터가 남아 있는 오래된 캐시 페이지를 참조하며 응답을 생성했고, 클라이언트에는 HTTP 400 대신 HTTP 200 응답이 전달됐다.
SGLang 팀은 자체 공동 게시물에서 단일 노드의 거부 경로에서는 대신 오류가 반환됐으므로 분리형 서빙에서만 문제가 발생했다고 밝혔다. Cloudflare는 조사 과정에서 이 버그가 다른 사용자가 2026년 7월 6일 SGLang에 이슈 #30233으로 신고한 사안임을 확인했다고 밝혔다.
사고 대응 및 해결
Cloudflare는 2026년 9월 9일 08:00 UTC에 보고 내용 검증을 시작했으며, 제품 보안팀이 25분 이내에 서로 독립된 계정 두 개를 사용해 정보 유출을 재현한 뒤 13:22에 보안 사고로 선포했다. 14:00에 GLM 5.3을 비공개로 전환했고, 14:35에 근본 원인을 파악했으며, 14:52까지 모든 프리필 노드를 수정된 구성으로 전환했다. 19:04에는 Cloudflare가 작성한 엔진 패치를 적용해 전체 배포를 다시 빌드했고, 19:40에 모델을 다시 공개했다. Cloudflare 상태 페이지에는 Workers AI 사고가 2026년 9월 9일 오전 10:25 EDT에 시작됐고, 오전 11:02 EDT에 확인됐으며, 오후 4:09 EDT에 해결된 것으로 기록됐다.
구성 수정으로 GLM 5.2와 같은 설정을 적용해 GPU 메모리를 충분히 확보한 결과, 프리필 KV 풀은 이제 약 204만 토큰을 수용한다. 이는 1,048,576토큰 컨텍스트 길이의 대략 두 배이므로 컨텍스트 창에 들어가는 프롬프트는 항상 풀에도 들어간다. 엔진 패치는 분리형 처리의 접수 대기열에서 거부가 보류 중인 요청을 원래 오류와 함께 종료해 부트스트랩, 할당 또는 KV 전송이 시작되기 전에 처리한다. Cloudflare는 모델을 다시 제공하기 전에 연구원의 재현 스크립트와 자체 카나리아 마커 테스트를 사용해 두 변경 사항을 모두 검증했다.
업스트림 수정 및 후속 작업
Cloudflare는 수정 사항을 SGLang 풀 리퀘스트 #38704로 업스트림에 제안했고, 유지관리자는 Cloudflare의 접근 방식을 따라 영향을 받는 요청을 접수 단계에서 거부하는 #38935를 병합했다. 관련 실패 경로를 수정하는 #36988도 이에 앞서 2026년 9월 6일 병합됐다. 이 패치는 SGLang v0.5.20에 포함됐으며, 이후 2026년 10월 2일 출시된 v0.5.21과 2026년 10월 19일 출시된 v0.5.22에도 후속 수정 사항이 반영됐다. Cloudflare는 모든 SGLang 운영자에게 v0.5.22 이상으로 업데이트할 것을 권고한다. SGLang 팀에 따르면 v0.5.21은 모든 종류의 장애에 대해 Mooncake 및 NIXL 배포를 기본적으로 보호하며, MORI 배포에는 v0.5.22 빌드가 필요하다. 또한 이 수정 사항은 이전 릴리스 브랜치에는 백포트되지 않았다.
SGLang 팀은 H100 GPU 2개에서 21회 실행한 결과, 보호 기능을 적용했을 때 처리량 변화가 ±2% 이내였고 모든 95% 신뢰구간이 0을 포함했다고 보고했다. 또한 H200 GPU 2개에서 별도로 16회 실행해 기본적으로 지연 KV 해제를 활성화하는 데 따른 비용을 측정한 결과 −0.38%였으며, 신뢰구간은 −2.12%~+1.36%로 통계적으로 유의하지 않다고 설명했다. Cloudflare는 2026년 9월 10일 RadixArk에서 SGLang 유지관리자들을 만났고, 2026년 9월 11일부터 19일까지 모든 프로덕션 SGLang 배포에 추가 보안 강화 조치를 적용했다. 입장 단계 수정, 전송별 체크섬, 중단 승인 보존, 지연 KV 해제 기본 활성화를 포함한 업스트림 병합은 2026년 9월 16일부터 10월 12일까지 이루어졌다.
분리 모드로 SGLang을 실행하는 다른 운영자를 위해 Cloudflare 보고서는 가중치, 양자화, 병렬 처리 또는 메모리 비율을 변경할 때마다 모든 프리필 및 디코드 노드에서 컨텍스트 길이에 따른 KV 풀을 측정하고, 두 가지 입장 단계 수정 사항이 모두 포함된 빌드로 업그레이드하며, 두 역할 모두에서 지연 KV 해제를 활성화하고, 모델이 지원하는 경우 데이터 손상 감지를 켜고, 클라이언트 연결이 끊겨도 전송 도중 요청이 중단되지 않도록 로드 밸런서를 구성할 것을 권고한다.
Cloudflare는 이전에 모든 물리적 KV 페이지에 태그를 붙이고 디코드 과정에서 캐시를 읽기 전에 매핑을 확인하는 프로토타입 설계를 구축했으며, 테스트 결과 처리량과 테일 지연 시간에 미치는 비용은 1% 미만이었다고 밝혔다. Cloudflare는 2026년 8월 중순 GLM 5.2에서 프로토타입을 테스트했지만, 신뢰성 문제로 얼마 지나지 않아 비활성화했다. Cloudflare는 엔진에 내장되는 프로덕션 버전을 SGLang 팀과 함께 개발하고 있으며, 풀 리퀘스트 #39500의 전송별 체크섬을 첫 단계로 삼고 있다. 또한 Cloudflare는 프로덕션 SGLang 배포에서 Mooncake를 사용하는 RDMA 기반 KV 캐시 전송 프로토콜의 안전성을 모델링하고 증명하는 데 형식 기법 분야의 경험을 활용하고 있다고 밝혔다.
SGLang 팀의 게시물은 수정 작업에 기여한 Cloudflare 엔지니어 Kevin Flansburg와 Kastan Day에게 감사를 표하고, SGLang과 Cloudflare가 2026년 10월 26일에 공동으로 진행한 취약점 공개를 공개 일정의 마지막 항목으로 기록했다. SGLang 팀은 발견 경위와 외부 검증을 설명할 연구자의 보고서가 곧 나올 예정이라고 밝혔다.












