IL-0394 Cloudflare · 2026-01-22networking
Cloudflare Miami 라우터가 내부 IPv6 경로를 BGP 피어와 트랜짓 제공자에게 유출해 25분 동안 백본이 혼잡해지고 트래픽이 드롭됐다
2026년 1월 22일 20:25 UTC 에 Cloudflare 는 정책 자동화 플랫폼으로 Colombia Bogotá 에 있는 데이터센터 한 곳의 BGP 광고를 Miami 에서 빼는 변경을 내보냈다. 전에는 IPv6 트래픽 일부를 Miami 를 거쳐 Bogotá 로 보냈지만, 최근 인프라 업그레이드로 그럴 필요가 없어졌기 때문이다. 이 변경은 19:52 UTC 에 네트워크 자동화 코드 저장소에 머지됐다. 변경은 여러 export 정책의 term 에서 BOG04 유니캐스트 prefix 를 담은 prefix-list 줄만 지웠고, 남은 정책은 너무 넓었다. 정책은 route-type internal 인 prefix 를 모두 받아들여 community 를 더한 뒤 accept 했다. JunOS 와 JunOS EVO 는 HPE Juniper Networks 장비의 운영체제이고, 여기서 route-type internal 은 IBGP 경로처럼 외부가 아닌 경로를 모두 고른다. 그 결과 Cloudflare 가 백본 안에서 재분배하는 IPv6 prefix 가 모두 이 정책을 통과해 Miami 의 모든 BGP 이웃에게 광고됐다. Cloudflare 는 이것이 2020년에 겪은 장애와 아주 비슷하다고 적었다.
경로 유출은 넘겨줘서는 안 되는 트래픽을 자기에게 보내라고 네트워크가 인터넷에 알리는 일이다. 이번에 Cloudflare 는 일부 피어에게서 받은 경로를 Miami 에서 다른 피어와 제공자에게 재분배했다. RFC7908 의 정의로 보면 Type 3 과 Type 4 가 섞인 경로 유출이었다. 의도하지 않은 트래픽이 Miami 라우터로 들어와 Miami 와 Atlanta 사이 백본이 혼잡해졌고, 일부 고객 트래픽의 손실과 지연이 늘었다. 유출된 prefix 를 가진 네트워크의 트래픽은 라우터의 방화벽 필터에서 드롭됐고, 가장 많을 때 약 12Gbps 였다.
20:40 UTC 에 네트워크 팀이 조사를 시작했고 20:44 에 인시던트를 열었다. 20:50 UTC 에 네트워크 운영자가 잘못된 설정 변경을 손으로 되돌리고 그 라우터의 자동화를 멈춰 영향이 끝났다. 유출은 25분 동안 이어졌다. 21:47 UTC 에 코드 저장소에서 유출을 촉발한 변경을 되돌렸고, 22:07 에 운영자가 자동화가 버그 없이 다시 돌 수 있음을 확인했으며, 22:40 에 Miami 라우터의 자동화를 다시 켰다.
- 심각도
- –
- 영향 범위
- IPv6 traffic: congestion on the backbone between Miami and Atlanta, elevated loss and higher latency for some Cloudflare customer traffic, and about 12Gbps at peak discarded for external networks whose prefixes leaked
- 영향 사용자
- Some Cloudflare customers and external networks whose traffic was funnelled through Miami
- 지역
- Miami
- 감지까지
- 15m
- 복구까지
- 25m
증상
2026년 1월 22일 20:25 UTC 부터 Cloudflare 의 Miami edge 라우터 하나가 BGP 트랜짓 제공자와 피어에게 예상하지 않은 경로를 광고했다. 20:40 UTC 에 네트워크 팀이 Miami 에서 나간 의도하지 않은 경로 광고를 조사하기 시작했다.
AS13335 가 피어에게서 받은 경로를 다른 피어와 제공자에게 다시 광고했다. monocle 로 본 업데이트에서 prefix 2a03:2880:f077::/48 의 AS path 는 64112 22850 174 3356 13335 32934 였다. Cloudflare 가 피어인 Meta AS32934 에게서 받은 prefix 를 상위 트랜짓 제공자인 Lumen AS3356 에 광고했다는 뜻이다.
제공자와 피어가 의도하지 않은 트래픽을 Miami 라우터로 보내면서 Miami 와 Atlanta 사이 백본이 혼잡해졌다. 일부 Cloudflare 고객 트래픽의 손실이 늘었고, 이 링크를 지나는 트래픽의 지연이 평소보다 높았다. 영향은 IPv6 트래픽에만 있었다.
경로가 유출된 외부 네트워크의 트래픽은 Cloudflare 서비스와 고객의 트래픽만 받도록 만든 라우터 방화벽 필터에서 드롭됐다. 가장 많을 때 Miami 라우터로 들어온 이런 트래픽 약 12Gbps 를 드롭했다.
원인
- 촉발
- 20:25 UTC 에 정책 자동화 플랫폼으로 Bogotá 데이터센터용 BGP 광고를 Miami 에서 빼는 변경을 내보냈다. 이 변경이 Miami 라우터의 여러 BGP export 정책에서 prefix-list 6-BOG04-SITE-LOCAL 줄만 지워, 남은 정책이 route-type internal 인 경로를 모두 받아들여 밖으로 광고하게 됐다.
감지
20:40 UTC 에 네트워크 팀이 Miami 에서 나간 의도하지 않은 경로 광고를 조사하기 시작했고, 20:44 UTC 에 대응을 조율하려고 인시던트를 열었다.
조치
- 20:50 UTC 에 네트워크 운영자가 잘못된 설정 변경을 손으로 되돌렸다. 이때 영향이 끝났다.
- 자동화가 같은 라우터에서 다시 돌지 않도록 그 라우터의 자동화를 멈췄다.
- 21:47 UTC 에 유출을 촉발한 변경을 네트워크 자동화 코드 저장소에서 되돌렸다.
- 22:07 UTC 에 운영자가 라우팅 정책 버그 없이 자동화가 다시 돌 수 있음을 확인했고, 22:40 UTC 에 Miami 라우터의 자동화를 다시 켰다.
후속 조치
- 경로 유출을 일으킨 라우팅 정책 자동화의 결함을 고치고, 이 결함과 비슷한 결함을 바로 막는다.
- 외부 export 정책에서 제공자와 피어에게서 받은 경로를 명시적으로 거부하는 BGP community 기반 안전장치를 라우팅 정책에 더한다.
- 비어 있거나 잘못된 정책 term 을 찾는 라우팅 정책 자동 평가를 CI/CD 파이프라인에 넣는다.
- 네트워크 설정 문제와 자동 변경의 나쁜 영향을 더 일찍 알아채도록 개선한다.
- RFC9234 의 BGP role 과 Only-to-Customer Attribute 를 배포하기에 앞서 라우팅 장비 공급사의 구현을 검증한다. BGP role 과 Only-to-Customer Attribute 는 라우팅 정책과 상관없이 자기 AS 에서 생기는 경로 유출을 막는 유일한 방법이다.
- 비정상적인 AS path 를 가진 경로를 네트워크가 자동으로 거부할 수 있게 하는 RPKI Autonomous System Provider Authorization, 곧 ASPA 를 장기적으로 채택하도록 권한다.
교훈
Cloudflare 는 이번 사고로 경로 유출을 실수로 일으키기가 얼마나 쉬운지 직접 겪었다고 적었다. 경로 유출을 막으려면 여러 갈래의 대책이 필요하고, 라우팅 정책 설정과 자동화에서 단기와 장기로 고칠 곳을 여럿 찾았다고 했다.
출처
관련 사례
IL-0225라우터 명령 하나가 Microsoft WAN 의 모든 라우터에 토폴로지를 다시 계산하게 해 전 세계 Azure 네트워크 연결이 불안정해졌다.Microsoft Azure · 2023같은 원인 · 공통 백본망, BGP 라우팅
같은 원인 · 공통 백본망, BGP 라우팅
같은 원인 · 공통 BGP 라우팅
IL-0266eqiad 코어 라우터 두 대 사이에 라우팅 루프가 생겨 eqiad 가 다른 데이터센터의 공인 IP 주소에 닿지 못했다Wikimedia Foundation · 2021같은 원인 · 공통 BGP 라우팅
같은 원인 · 공통 BGP 라우팅
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0394
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0394/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.