- 2025년 12월 5일 08:47 UTC에 Cloudflare 네트워크 일부가 심각한 장애를 겪었으며, 약 25분 후인 09:12에 완전히 복구됨
- 전체 HTTP 트래픽의 약 28% 가 영향을 받았고, 특정 조건을 만족한 고객만 장애를 경험함
- 원인은 React Server Components 취약점(CVE-2025-55182) 대응 중 수행된 WAF(body parsing logic) 변경으로, 사이버 공격과는 무관함
-
FL1 프록시의 코드 오류로 인해 HTTP 500 오류가 발생했으며, 새 Rust 기반 FL2 프록시에서는 동일 오류가 발생하지 않음
- Cloudflare는 11월 18일 장애 이후에도 유사한 문제가 반복된 점을 인정하고, 배포 안전성·복원력 강화 프로젝트를 최우선 과제로 진행 중임
장애 개요
- 2025년 12월 5일 08:47 UTC에 Cloudflare 네트워크 일부에서 장애 발생
- 09:12에 모든 서비스 복구, 총 25분간 영향
- 전체 HTTP 트래픽의 약 28%가 영향을 받음
- 장애는 사이버 공격이나 악의적 행위와 무관, 내부 설정 변경 중 발생
- React Server Components의 신규 취약점 대응을 위한 WAF 본문 파싱 로직 수정이 원인
장애 원인 및 기술적 배경
- Cloudflare WAF는 악성 페이로드 탐지를 위해 HTTP 요청 본문을 메모리에 버퍼링
- 기존 버퍼 크기 128KB에서 1MB로 확장 중이었음
- 내부 테스트 도구가 새 버퍼 크기를 지원하지 않아 테스트 도구를 비활성화하는 두 번째 변경을 수행
- 이 변경은 전역 설정 시스템을 통해 즉시 전체 서버에 전파됨
- FL1 프록시에서 이 변경이 오류 상태를 유발, HTTP 500 응답 발생
- 오류 메시지: attempt to index field 'execute' (a nil value)
- 문제는 즉시 식별되어 09:12에 변경이 되돌려짐
영향 범위
-
FL1 프록시를 사용하고 Cloudflare Managed Ruleset을 적용한 고객만 영향
- 해당 사이트의 모든 요청이 HTTP 500 오류 반환
-
/cdn-cgi/trace 등 일부 테스트 엔드포인트는 예외
- 중국 네트워크 및 다른 구성의 고객은 영향 없음
런타임 오류 상세
- Cloudflare의 rulesets 시스템은 요청마다 규칙을 평가
- 규칙은 필터와 액션으로 구성되며, execute 액션은 다른 규칙 세트를 호출
- 내부 로깅 시스템이 execute를 사용해 테스트 규칙을 평가
-
killswitch 시스템이 오작동 규칙을 비활성화하도록 설계되어 있으나,
-
execute 액션이 포함된 규칙에 killswitch를 적용한 것은 이번이 처음
-
execute 객체가 존재하지 않는 상태에서 접근 시도하여 Lua 오류 발생
- 이 오류는 수년간 존재했으나 탐지되지 않았던 단순 코드 버그
-
Rust로 작성된 FL2 프록시에서는 동일 오류가 발생하지 않음
11월 18일 장애 이후의 개선 진행 상황
- 11월 18일에도 유사한 전역 배포로 인한 광범위 장애 발생
- 당시 고객 수백 명과 직접 소통하며 단일 업데이트의 전면 확산 방지 계획을 공유
- 해당 개선 작업이 아직 완료되지 않아 이번 장애에 영향을 미침
- Cloudflare는 이를 조직 전체의 최우선 과제로 지정
진행 중인 복원력 강화 프로젝트
-
Enhanced Rollouts & Versioning
- 위협 대응용 데이터 및 설정 변경에도 점진적 배포·건강 검증·신속 롤백 기능 적용
-
Streamlined Break Glass Capabilities
- 내부 서비스 및 제어 플레인 상호작용 시에도 비상 조작 가능성 확보
-
Fail-Open 오류 처리
- 구성 파일 오류 시 요청을 차단하지 않고 기본 정상 상태로 전환하거나 트래픽 통과
- 일부 서비스는 fail-open/fail-closed 선택 옵션 제공 예정
- 다음 주 내에 모든 복원력 프로젝트의 세부 내역 공개 예정
- 그 전까지 네트워크 변경을 전면 중단(lockdown) 상태로 유지
타임라인 (UTC)
- 08:47 – 구성 변경 배포 및 네트워크 전파 시작
- 08:48 – 전체 영향 발생
- 08:50 – 자동 경보로 사고 선언
- 09:11 – 변경 되돌리기 시작
- 09:12 – 복구 완료, 모든 트래픽 정상화
결론
- Cloudflare는 두 차례 연속된 장애의 심각성을 인정하고 고객 및 인터넷 전체에 사과
- 향후 배포 안전성, 오류 허용성, 복원력 강화를 통해 유사 사고 방지 계획 추진