Lỗi nằm trong luồng Form import, nơi GLPI xử lý khóa định danh của illustration hoặc scene để xác định vị trí lưu tệp. Giá trị do form administrator kiểm soát có thể thoát khỏi thư mục custom-asset dự kiến, khiến tệp nhập được ghi vào vị trí có khả năng thực thi trên máy chủ.
Luồng tấn công được nguồn mô tả ở mức cao như sau:
- Tài khoản có quyền form administrator truy cập chức năng
Form import.
- Dữ liệu nhập chứa illustration hoặc scene identifier được tạo thủ công để gây path traversal.
- Tệp được di chuyển ra ngoài thư mục custom-asset dự kiến và có thể được đặt tại vị trí thực thi.
- Script độc hại có thể được gọi từ xa.
Bản sửa đổi trong FormSerializer::prepareIllustrationDataForImport bổ sung kiểm tra khóa illustration chỉ cho phép các ký tự trong mẫu [a-zA-Z0-9._-]+. IllustrationManager::saveCustomIllustration và IllustrationManager::saveCustomScene cũng kiểm tra đường dẫn đích đã phân giải vẫn nằm trong thư mục tương ứng trước khi thực hiện rename. Nguồn công khai không xác định đầy đủ quyền của tiến trình máy chủ hoặc cấu hình máy chủ web, nên phạm vi tác động sau khi chạy mã phụ thuộc vào môi trường triển khai.