Cross-site scripting phản chiếu trong dashboard GLPI của glpi-project

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-53610 là gì?

Lỗ hổng CVE-2026-53610 là lỗ hổng Improper Neutralization of Input During Web Page Generation ảnh hưởng tới glpi (phiên bản bị ảnh hưởng: >= 11.0.0, < 11.0.8). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.5. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

GLPI là một gói phần mềm miễn phí để quản lý tài sản và CNTT. Từ 11.0.0 đến 11.0.8, kẻ tấn công có thể tạo một URL cho dashboard để phản chiếu markup do mình kiểm soát mà không có output encoding đầy đủ. Người dùng mở URL được tạo sẵn sẽ kích hoạt cross-site scripting phản chiếu trong dashboard. Vấn đề này được khắc phục ở phiên bản 11.0.8.

Sản phẩm và phạm vi ảnh hưởng

  • GLPI của glpi-project: các phiên bản >= 11.0.0, < 11.0.8 được ghi nhận là bị ảnh hưởng.
  • Bản ghi chuẩn xác định 11.0.8 là phiên bản đã sửa. Advisory của dự án mô tả nhánh bị ảnh hưởng bắt đầu từ 11.0.0 và nêu 11.0.8 là phiên bản patched; ranh giới < 11.0.8 trong dữ liệu affected được dùng cho phạm vi chính xác của mục này.
  • Không có bằng chứng đủ để kết luận trạng thái của các nhánh GLPI khác ngoài phạm vi trên.

Chi tiết kỹ thuật

GLPI phản chiếu markup do kẻ tấn công kiểm soát từ URL dashboard vào nội dung HTML mà không mã hóa đầu ra đầy đủ. Thành phần bị ảnh hưởng là cơ chế dựng dashboard, với một sink được bản vá xác định trong src/Glpi/Dashboard/Widget.php, hàm articleList. Bản vá đưa giá trị $p['alt'] qua \htmlescape() trước khi chèn vào thuộc tính HTML title, cho thấy vấn đề nằm ở việc đưa dữ liệu có thể kiểm soát vào output của trang web. Luồng tấn công cần một nạn nhân mở URL được tạo sẵn; chi tiết đầy đủ về mọi tham số request, ngữ cảnh thực thi JavaScript và phạm vi các sink khác chưa được xác lập trong bằng chứng hiện có.

Khả năng khai thác

Lỗ hổng có thể bị tiếp cận qua mạng và bản ghi đánh giá cho biết kẻ tấn công không cần quyền trước, độ phức tạp thấp, nhưng cần người dùng chủ động mở URL được tạo sẵn. Điều kiện này phù hợp với reflected XSS trong dashboard: payload nằm trong URL và được phản chiếu khi trang được tải. Bản ghi không xác lập trạng thái khai thác thực tế; trường public_exploit được đánh dấu false, còn trạng thái khai thác đã biết không được xác định.

Tác động kỹ thuật

Khai thác thành công có thể khiến mã script do kẻ tấn công kiểm soát chạy trong trình duyệt của người dùng GLPI, với khả năng đọc dữ liệu mà người dùng có thể truy cập hoặc gửi các request bằng quyền của người dùng đó. Tác động thực tế phụ thuộc vào quyền của nạn nhân, trạng thái phiên và các cơ chế bảo vệ bổ sung trong trình duyệt hoặc ứng dụng. Bản ghi đánh giá mức tác động cao đối với tính bí mật, toàn vẹn và khả dụng của hệ thống bị ảnh hưởng, nhưng không xác lập tác động đến hệ thống kế tiếp hoặc khả năng thực thi mã phía máy chủ. Không nên diễn giải lỗi này thành bằng chứng về compromise máy chủ nếu chưa có bằng chứng độc lập.

Tác động đến tổ chức

  • Người dùng mở URL độc hại có thể làm trình duyệt thực thi script trong ngữ cảnh GLPI của họ.
  • Tùy theo quyền và dữ liệu mà người dùng có thể truy cập, hậu quả có thể bao gồm lộ dữ liệu hiển thị trong phiên, thực hiện các thao tác mà người dùng được phép thực hiện, hoặc làm gián đoạn giao diện và quy trình làm việc.
  • Rủi ro vận hành tập trung ở các instance GLPI có người dùng quản trị hoặc xử lý dữ liệu nhạy cảm qua dashboard.
  • Bằng chứng hiện có không nêu cụ thể nạn nhân, chiến dịch, sự cố rò rỉ hay tổ chức nào đã bị ảnh hưởng.

Cách khắc phục

  1. Nâng cấp GLPI lên phiên bản 11.0.8, là phiên bản patched được xác nhận bởi advisory của dự án.
  2. Xác minh lại phiên bản thực tế sau khi triển khai, bao gồm các instance phụ, container image, bản cài đặt thủ công và môi trường staging có thể được đưa lên production.
  3. Nếu chưa thể nâng cấp, hãy coi các instance trong phạm vi affected vẫn còn phơi nhiễm. Bằng chứng hiện có không cung cấp workaround cụ thể từ nhà cung cấp, vì vậy không nên xem bộ lọc WAF hoặc biện pháp generic là bản vá đã được xác nhận.

Cách phát hiện

  • Kiểm kê các hệ thống GLPI đang triển khai và xác định phiên bản của từng instance, ưu tiên những instance cung cấp dashboard cho người dùng.
  • Nếu có mã nguồn, kiểm tra thành phần src/Glpi/Dashboard/Widget.php và hàm articleList để xác nhận dữ liệu được escape trước khi đưa vào HTML.
  • Rà soát access log hoặc proxy log như một biện pháp thận trọng để tìm các request dashboard chứa giá trị markup hoặc giá trị được encode bất thường trong URL. Đây không phải IOC đã được nhà cung cấp xác nhận.
  • Không xem việc không tìm thấy log đáng ngờ là bằng chứng hệ thống an toàn, vì khai thác reflected XSS có thể không để lại dấu hiệu đủ rõ trong log.
Nguồn (18)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.