Cloudflare 2025년 12월 5일 장애

4 days ago 4

  • 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는 두 차례 연속된 장애의 심각성을 인정하고 고객 및 인터넷 전체에 사과
  • 향후 배포 안전성, 오류 허용성, 복원력 강화를 통해 유사 사고 방지 계획 추진

Read Entire Article