Cloudflare: Thay đổi cấu hình kích hoạt lỗi mã cũ, gây sự cố gián đoạn toàn cầu 25 phút – khoảng 28% lưu lượng HTTP bị ảnh hưởng.

VNZ-NEWS
Ngày 5/12, Cloudflare bất ngờ gặp sự cố mạng khiến một số dịch vụ trên toàn cầu bị gián đoạn khoảng 25 phút.


Cloudflare đã công bố báo cáo điều tra sự cố. Vụ việc bắt đầu lúc 08:47 UTC và hoàn toàn khôi phục lúc 09:12, khiến khoảng 28% lưu lượng HTTP bị ảnh hưởng. Sự cố không phải do tấn công mạng hay hành vi độc hại, mà bắt nguồn từ việc Cloudflare điều chỉnh logic phân tích request body khi xử lý lỗ hổng bảo mật cấp ngành liên quan đến React Server Components, từ đó gây ra lỗi dây chuyền.

Trước khi sự cố xảy ra, Cloudflare đang mở rộng dung lượng bộ đệm mà Web Application Firewall (WAF) sử dụng để kiểm tra nội dung request body — từ 128 KB lên 1 MB nhằm hỗ trợ khách hàng giảm thiểu rủi ro từ lỗ hổng CVE-2025-55182. Trong quá trình nâng cấp, đội ngũ phát hiện một công cụ kiểm thử nội bộ không hỗ trợ kích thước bộ đệm mới, nên quyết định tắt công cụ này thông qua hệ thống cấu hình toàn cầu.

Vấn đề nằm ở việc hệ thống cấu hình này sẽ đẩy thay đổi đến toàn bộ cụm máy chủ trong thời gian rất ngắn, thay vì triển khai theo vùng như thông lệ, khiến thay đổi lan ra toàn mạng gần như ngay lập tức.

Trong phiên bản FL1 của Cloudflare, việc tắt công cụ trong điều kiện cụ thể đã kích hoạt một lỗi mã cũ trong mô-đun quy tắc, khiến hệ thống gặp lỗi Lua khi xử lý hành động quy tắc tên “execute”, dẫn đến truy xuất HTTP 500.

Thông báo lỗi:
Mã:
[lua] Failed to run module rulesets callback late_routing /usr/local/nginx-fl/lua/modules/init.lua:314
attempt to index field 'execute' (a nil value)
Quy tắc gây sự cố vốn được dùng cho cơ chế xác thực quy tắc nội bộ. Khi bị tắt, hệ thống vẫn tiếp tục xử lý kết quả và truy cập vào một đối tượng không tồn tại, dẫn đến ngoại lệ. Cloudflare cho biết lỗi này đã tồn tại nhiều năm, nhưng không xuất hiện trong FL2, phiên bản nền tảng mới được viết lại bằng Rust.

Đoạn mã liên quan:
Mã:
if rule_result.action == "execute" then
  rule_result.execute.results = ruleset_results[tonumber(rule_result.execute.results_index)]
end
Sau khi xác định sự cố, Cloudflare tiến hành rollback lúc 09:12, tất cả dịch vụ được khôi phục. Những khách hàng bị ảnh hưởng chủ yếu là người vẫn dùng FL1 và bật bộ quy tắc do Cloudflare quản lý. Hạ tầng Cloudflare tại một số quốc gia Châu Á không bị ảnh hưởng.
Cloudflare cũng nhắc lại sự cố tương tự ngày 18/11. Cả hai lần đều bắt nguồn từ thay đổi cấu hình lan truyền toàn mạng quá nhanh, cho thấy sự yếu kém của cơ chế triển khai trong các tình huống cập nhật bảo mật khẩn cấp.

Công ty cho biết đang triển khai nhiều cải tiến lớn như:
  • Tăng cường cơ chế phát hành cấu hình
  • Hoàn thiện quy trình bypass khi gặp sự cố
  • Áp dụng chế độ “Fail-Open” an toàn hơn tại các vùng xử lý dữ liệu quan trọng
Tuy nhiên, nhiều thay đổi vẫn đang trong quá trình triển khai.

Cloudflare thông báo đã đóng băng toàn bộ thay đổi mạng, cho đến khi xây dựng xong cơ chế rollback và xác minh cấu hình an toàn hơn. Công ty cũng gửi lời xin lỗi đến khách hàng và cộng đồng Internet vì những ảnh hưởng gây ra.

Chi tiết thông báo từ Cloudflare