Phân tích kỹ thuật: Chuỗi lỗ hổng Cloudflare cho phép bypass CSP và thực thi XSS
Các nhà nghiên cứu bảo mật đã phát hiện chuỗi lỗ hổng trong tính năng xử lý ảnh của Cloudflare, cho phép kẻ tấn công vượt qua CSP và thực thi mã JavaScript độc hại.

- Phát hiện lỗ hổng: Các nhà nghiên cứu đã tìm ra phương thức kết hợp nhiều lỗi nhỏ trong tính năng Image Transformations của Cloudflare để thực thi XSS.
- Cơ chế tấn công: Kẻ tấn công lợi dụng việc xử lý không an toàn các thuộc tính SVG và thao túng header HTTP để vô hiệu hóa chính sách bảo mật CSP.
- Tác động: Cho phép thực thi mã JavaScript tùy ý trên các tên miền sử dụng dịch vụ Cloudflare, vượt qua các cơ chế bảo vệ trình duyệt hiện có.
Vào ngày 28 tháng 10 năm 2026, các nhà nghiên cứu bảo mật Kevin Gervot và Adam Kues đã công bố một báo cáo kỹ thuật chi tiết có tiêu đề 'Cache Me If You Can'. Báo cáo này phơi bày một chuỗi lỗ hổng nghiêm trọng trong endpoint /cdn-cgi/image/ của Cloudflare, cho phép thực thi Cross-Site Scripting (XSS) ngay cả khi trang web đã được cấu hình chính sách Content Security Policy (CSP) nghiêm ngặt.
Phân tích cơ chế lỗ hổng trong Cloudflare Image Transformations
Cloudflare hiện đang đóng vai trò là lớp bảo vệ cho khoảng 24,3% các trang web trên toàn cầu. Khi một tên miền được tích hợp vào hệ sinh thái Cloudflare, nền tảng này sẽ tự động thêm đường dẫn /cdn-cgi/ vào tên miền của khách hàng để phục vụ các tính năng như Web Analytics, Access và Image Transformations. Do các tài nguyên này được tải trực tiếp từ tên miền của khách hàng, bất kỳ lỗ hổng nào tại đây đều kế thừa mức độ tin cậy của trang web đó.
Lỗ hổng bắt nguồn từ cách Cloudflare xử lý hình ảnh SVG thông qua công cụ svg-hush, được xây dựng dựa trên thư viện xml-rs. Trong quá trình làm sạch file, thư viện này thực hiện thoát (escape) các giá trị thuộc tính thông thường nhưng lại ghi nhận các giá trị namespace (như xmlns) ở dạng thô (raw). Điều này cho phép kẻ tấn công chèn các ký tự đặc biệt như dấu ngoặc kép để thoát khỏi ngữ cảnh thuộc tính, từ đó chèn thẻ <script> độc hại mà bộ lọc không phát hiện được.
Kỹ thuật vượt qua CSP thông qua Cache-Control
Mặc dù Cloudflare phục vụ các hình ảnh này với chính sách default-src 'none' để chặn script, các nhà nghiên cứu đã phát hiện ra rằng endpoint này cho phép chuyển tiếp các header Cache-Control từ hình ảnh nguồn. Bằng cách sử dụng cú pháp no-cache="Content-Security-Policy", kẻ tấn công có thể ép trình duyệt (đặc biệt là Chromium) loại bỏ header CSP sau lần tải đầu tiên.
# Ví dụ về header HTTP cho phép bypass CSP thông qua cache-control:Cache-Control: no-cache="Content-Security-Policy"
Sau khi trình duyệt lưu trữ trang vào bộ nhớ đệm (disk cache), chính sách CSP sẽ bị vô hiệu hóa. Kẻ tấn công sau đó sử dụng kỹ thuật điều hướng lịch sử (history back) để ép trình duyệt tải lại bản sao đã lưu, từ đó kích hoạt mã JavaScript độc hại mà không bị CSP ngăn chặn.
Chuỗi tấn công và các vector khai thác liên quan
Để hoàn thiện chuỗi tấn công trên các zone có cấu hình nghiêm ngặt, các nhà nghiên cứu đã tận dụng lỗ hổng trong tính năng /cdn-cgi/access/logout. Tính năng này chấp nhận tham số returnTo cho phép chuyển hướng đến bất kỳ tên miền phụ nào của cloudflare.com. Bằng cách kết hợp với các chuyển hướng mở (open redirect), kẻ tấn công có thể ép bộ xử lý ảnh của Cloudflare tải hình ảnh từ máy chủ do họ kiểm soát.
| Loại thực thể | Giá trị / Chỉ số | Mô tả tác động |
|---|---|---|
| Endpoint bị ảnh hưởng | /cdn-cgi/image/ | Điểm vào cho các yêu cầu xử lý ảnh |
| Thư viện lỗi | xml-rs | Xử lý sai các giá trị namespace trong SVG |
| Trình duyệt bị ảnh hưởng | Chromium-based | Dễ bị tổn thương bởi kỹ thuật cache-control |
Khuyến nghị phòng thủ và giảm thiểu rủi ro
Các tổ chức và quản trị viên hệ thống cần thực hiện các biện pháp phòng thủ theo chiều sâu để ngăn chặn các cuộc tấn công tương tự. Việc chỉ dựa vào bộ lọc nội dung file là không đủ, cần phải kiểm soát chặt chẽ các header HTTP được chuyển tiếp từ các dịch vụ bên thứ ba.
- Cấu hình header bảo mật: Thiết lập
X-Content-Type-Options: nosniffđể ngăn chặn trình duyệt tự động đoán loại nội dung (MIME sniffing). - Kiểm soát nguồn dữ liệu: Hạn chế tối đa các nguồn mà công cụ xử lý ảnh được phép truy cập, tránh các cấu hình cho phép chuyển hướng mở (open redirect).
- Rà soát Cache-Control: Kiểm tra và loại bỏ các header
Cache-Controlkhông cần thiết hoặc nguy hiểm được chuyển tiếp từ các dịch vụ lưu trữ (S3, GCS, Image CDN). - Áp dụng Defense-in-Depth: Không nên tin tưởng tuyệt đối vào các bộ lọc tự động; cần kết hợp nhiều lớp bảo mật để giảm thiểu rủi ro khi một lớp bị vượt qua.
Để biết thêm thông tin chi tiết về các kỹ thuật phòng thủ, quản trị viên có thể tham khảo tài liệu từ CISA về bảo mật ứng dụng web và các tiêu chuẩn OWASP về phòng chống XSS.
Mạng Lưới An Ninh Mạng & Cộng Đồng
Nhận cảnh báo 0-Day khẩn cấp, phân tích mã độc và tham gia thảo luận kỹ thuật cùng chuyên gia.
Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.



