CVE-2024-52288 in libosdp
Tóm tắt
Bởi VulDB • 21/05/2026
libosdp là một triển khai của giao thức OSDP (Open Supervised Device Protocol) theo tiêu chuẩn IEC 60839-11-5 và cung cấp một thư viện C hỗ trợ C++, Rust và Python3. Trong các phiên bản bị ảnh hưởng, các thông báo `REPLY_CCRYPT` hoặc `REPLY_RMAC_I` không mong muốn có thể được đưa vào luồng đang hoạt động khi lẽ ra chúng không nên xuất hiện. Một khi thông báo RMAC_I có thể được gửi trong suốt phiên làm việc, kẻ tấn công có quyền truy cập MITM (Man-in-the-Middle) vào kênh truyền thông có thể chặn lại phản hồi RMAC_I gốc và lưu trữ nó. Trong khi phiên làm việc tiếp tục, kẻ tấn công sẽ ghi lại tất cả các phản hồi và lưu trữ chúng, cho đến khi thu được thông báo cần được phát lại (có thể được phát hiện bằng ID, độ dài hoặc thời gian dựa trên việc quan sát hoạt động trực quan bên cạnh đầu đọc). Khi kẻ tấn công đã thu được một phiên làm việc chứa thông báo cần phát lại, nó sẽ ngừng đặt lại kết nối và chờ tín hiệu để thực hiện việc phát lại thông báo từ PD (Peripheral Device) sang CP (Control Panel) (ví dụ: bằng cách ra tín hiệu từ xa cho thiết bị MITM hoặc thiết lập một khoảng thời gian cụ thể). Để thực hiện việc phát lại, kẻ tấn công sẽ tạo ra một thông báo RMAC_I đặc biệt trong đúng thứ tự thực thi, điều này sẽ dẫn đến việc đưa trạng thái RMAC trở lại điểm bắt đầu của phiên làm việc. Tại giai đoạn này, kẻ tấn công có thể phát lại tất cả các thông báo từ đầu phiên làm việc. Vấn đề này đã được khắc phục trong commit `298576d9`, có trong phiên bản phát hành 3.0.0. Người dùng được khuyến nghị nâng cấp. Không có các giải pháp tạm thời nào được biết đến cho lỗ hổng này.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.