Phân Tích Lỗ Hổng Cross-Site Scripting (XSS) trong Kentico Xperience CMS

Bài viết đề cập đến phân tích chi tiết về lỗ hổng Cross-Site Scripting (XSS) trong Kentico Xperience CMS, cho phép kẻ tấn công thực hiện Remote Code Execution (RCE). Dưới đây là những điểm chính:

Tổng Quan Về Lỗ Hổng

  • CVE-2025-2748: Lỗ hổng này ảnh hưởng đến các phiên bản Kentico Xperience CMS lên tới 13.0.178 và cho phép kẻ tấn công thực hiện RCE bằng cách khai thác XSS.
  • Chuỗi Lỗ Hổng: Chuỗi lỗ hổng bao gồm hai vấn đề chính:
    • Lấy Tài Nguyên Không Cần Xác Thực: Endpoint /CMSPages/GetResource.ashx cho phép người dùng không xác thực lấy tài nguyên như hình ảnh hoặc script, bao gồm các tệp SVG có chứa JavaScript nhúng.
    • Tải Lên Tệp Không Cần Xác Thực: Endpoint /CMSModules/Content/CMSPages/MultiFileUploader.ashx cho phép tải lên tệp không cần xác thực vào thư mục tạm thời trong webroot.

Bước Khai Thác

  1. Tạo Tệp Độc Hại: Kẻ tấn công tạo một tệp SVG có chứa mã JavaScript và đóng gói vào một tệp ZIP.
  2. Tải Lên Tệp ZIP: Kẻ tấn công tải tệp ZIP lên thư mục tạm thời có thể đoán bằng endpoint MultiFileUploader.
  3. Kích Hoạt XSS: Kẻ tấn công sử dụng trình xử lý GetResource để lấy tệp SVG độc hại từ tệp ZIP đã tải lên, làm thực thi JavaScript nhúng khi được truy cập bởi trình duyệt.
  4. RCE Sau Khi Xác Thực (Tùy Chọn): Nếu kẻ tấn công có quyền truy cập quản trị, họ có thể sửa đổi các phần mở rộng tệp cho phép và tải lên các tệp thực thi trên máy chủ như .aspx, cho phép thực hiện RCE đầy đủ.

Chứng Minh Khai Thác

Một khai thác chứng minh (PoC) cho thấy cách mà kẻ tấn công có thể đạt được XSS bằng cách:

  • Tạo một tệp SVG có chứa JavaScript nhúng.
  • Đóng gói vào tệp ZIP (poc.zip).
  • Tải lên tệp ZIP sử dụng endpoint MultiFileUploader.
  • Truy cập tệp SVG độc hại qua trình xử lý GetResource, kích hoạt XSS và thực thi JavaScript nhúng.

Các Bước Khắc Phục

Các quản trị viên Kentico được khuyên nên:

  • Cập Nhật Bảo Mật Mới Nhất: Ngay lập tức áp dụng các cập nhật bảo mật mới nhất được cung cấp bởi Kentico.
  • Hạn Chế Truy Cập Không Cần Xác Thực: Hạn chế truy cập không cần xác thực đến các trình xử lý dễ bị tổn thương (ví dụ: GetResource.ashxMultiFileUploader.ashx).
  • Xác Thực Tải Lên Tệp: Xác thực chặt chẽ các tệp tải lên, đặc biệt đối với các trình xử lý tệp tạm thời và tùy chỉnh.
  • Thiết Lập Xác Thực Mạnh: Thiết lập các phương thức xác thực và ủy quyền mạnh mẽ cho các chức năng được đặc quyền như sửa đổi phần mở rộng tệp.

Kết Luận

Lỗ hổng này nhấn mạnh tầm quan trọng của các biện pháp bảo mật vững chắc trong các hệ thống quản lý nội dung doanh nghiệp. Các tổ chức sử dụng Kentico Xperience CMS được khuyên nâng cấp lên phiên bản 13.0.178 hoặc mới hơn, đã được vá cho các vấn đề này.