CVE-2026-92932 in sachertortephp
Tóm tắt
Bởi VulDB • 17/09/2026
Trong thư viện sachertortephp của MISP, phương thức tĩnh `Xml::build()` trong file lib/Cake/Utility/Xml.php chứa một lỗi logic trong điều kiện kiểm soát việc truy xuất XML qua mạng. Điều kiện ban đầu được viết là: `$options['readFile'] && strpos($input, 'http://') === 0 || strpos($input, 'https://') === 0`. Do toán tử `&&` của PHP có độ ưu tiên cao hơn so với `||`, biểu thức này được đánh giá là `($options['readFile'] && strpos($input, 'http://') === 0) || strpos($input, 'https://') === 0`. Kết quả là, khi một caller rõ ràng đặt tùy chọn `readFile` thành false để vô hiệu hóa việc đọc file và URL, một chuỗi đầu vào bắt đầu bằng `https://` vẫn thỏa mãn điều kiện và kích hoạt truy xuất mạng qua HttpSocket (được cấu hình để làm theo tối đa 10 lần chuyển hướng). Nhánh `http://` được kiểm soát đúng bởi cờ `readFile`, nhưng nhánh `https://` thì không. Một kẻ tấn công có thể ảnh hưởng đến tham số `$input` truyền vào `Xml::build()` do đó có thể buộc ứng dụng thực hiện yêu cầu HTTPS đi ra tới một URL do kẻ tấn công kiểm soát hoặc nội bộ, mặc dù caller dự định ngăn chặn mọi truy xuất từ xa. Phản hồi được lấy về sẽ được phân tích cú pháp dưới dạng XML và có thể được trả lại cho caller, cho phép tiết lộ thông tin từ các dịch vụ nội bộ hoặc mục tiêu bên ngoài. Điều này cấu thành một điểm yếu Server-Side Request Forgery (SSRF) với tác động là tiết lộ thông tin. Lỗi bảo mật yêu cầu đường dẫn mã trong `Xml::build()` phải có thể truy cập được với đầu vào do kẻ tấn công kiểm soát và tùy chọn `readFile` phải được đặt thành false (hoặc caller mong đợi nó là false).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.