Điểm chính

  • Lỗ hổng CVE-2026-55420 trên nền tảng Discourse cho phép người dùng không có đặc quyền đọc file trái phép trên máy chủ.
  • Cuộc tấn công lợi dụng sự thiếu hụt trong chính sách bảo mật giữa ImageMagick, Ghostscript và kỹ thuật Time-of-Check to Time-of-Use (TOCTOU).
  • Quản trị viên cần nhanh chóng cập nhật phần mềm lên phiên bản mới nhất và thắt chặt kiểm tra dữ liệu đầu vào để phòng ngừa.

Các chuyên gia an ninh mạng vừa công bố báo cáo kỹ thuật chi tiết về chuỗi khai thác lỗ hổng nghiêm trọng mang mã CVE-2026-55420 trên nền tảng diễn đàn Discourse, cho phép kẻ tấn công không có đặc quyền thực thi hành vi đọc file trái phép trên máy chủ mục tiêu.

Cơ chế khai thác qua quy trình xử lý hình ảnh

Lỗ hổng này xuất phát từ sự kết hợp phức tạp giữa cách xử lý hình ảnh, độ trễ trong quy trình thao tác với file và những lỗ hổng trong chính sách bảo mật của các thư viện bên thứ ba như ImageMagick cùng Ghostscript. Nhóm nghiên cứu tập trung khai thác vào quy trình tải ảnh đại diện của người dùng trên nền tảng.

Mặc dù cấu hình bảo mật của ImageMagick đã được thiết lập để chặn các định dạng PostScript, nhưng phần mềm Ghostscript vẫn tiếp tục có khả năng xử lý các file PDF. Điều này tạo ra một khoảng hở bảo mật lớn giữa định dạng bị hạn chế và công cụ thực thi thực tế.

Sử dụng kỹ thuật đánh lừa định dạng và TOCTOU

Để thực hiện tấn công, kẻ xấu sử dụng một tệp tin được thiết kế riêng, kết hợp giữa các byte nhận diện của định dạng JPEG XL cùng với nội dung PostScript hợp lệ. Thư viện FastImage chịu trách nhiệm kiểm tra kích thước ảnh đã xác nhận đây là tệp hợp lệ, trong khi phần mở rộng .pdf lại ép ImageMagick phải nhờ đến Ghostscript để phân tích bên trong.

Điểm cốt lõi của phương thức này là việc áp dụng kỹ thuật Time-of-Check to Time-of-Use (TOCTOU). Kẻ tấn công tải lên một file JPEG hợp lệ mang phần mở rộng .msvg, sau đó lập tức thay thế tệp tạm thời này ngay sau khi FastImage hoàn tất khâu kiểm tra nhưng trước thời điểm ImageMagick tiến hành tính toán màu sắc chủ đạo.

Kéo dài thời gian xử lý và lỗ hổng phụ liên quan

Nhằm nới rộng khoảng thời gian thực hiện việc thay thế file, kẻ tấn công đã sử dụng một tệp JPEG được đệm dữ liệu đặc biệt, khiến tốc độ xử lý của công cụ jpegoptim bị chậm lại khoảng 25 giây. Trong khoảng thời gian này, thao tác đổi tên của PostScript cho phép thay thế file diễn ra theo dạng nguyên tử, giữ cho các handle file trỏ vào file gốc trong khi những tiến trình đọc tiếp theo lại truy cập nhầm vào file SVG đã bị đổi.

Định danh chính thức của lỗ hổng này là CVE-2026-55420. Bên cạnh đó, các nhà nghiên cứu còn tìm ra một lỗ hổng nhiễm độc bộ nhớ đệm (cache poisoning), cho phép thực thi mã lệnh JavaScript hướng tới khách truy cập ẩn danh thông qua việc can thiệp vào cookie màu sắc.

Khuyến nghị phòng thủ cho quản trị viên

Các chuyên gia đưa ra cảnh báo rằng việc duy trì giới hạn dựa trên phần mở rộng file là chưa đủ để ngăn chặn triệt để các dạng tấn công tinh vi này. Quản trị viên hệ thống bắt buộc phải cập nhật phần mềm Discourse lên phiên bản mới nhất nhằm áp dụng các chính sách bảo mật chặt chẽ hơn, bao gồm việc vô hiệu hóa các delegate không cần thiết và kiểm tra nghiêm ngặt dữ liệu đầu vào.