CVE-2026-89186 in mpp
Tóm tắt
Bởi VulDB • 17/09/2026
Việc sử dụng bộ nhớ đệm chứa thông tin nhạy cảm trong ZenHive mpp cho phép một HTTP cache dùng chung lưu trữ phản hồi có trả phí và phục vụ nó cho các khách hàng chưa thanh toán.
MPP.Plug.verify_credential trong lib/mpp/plug.ex đặt Payment-Receipt (hóa đơn thanh toán) và Cache-Control: private trên kết nối trước khi ứng dụng được bao bọc chạy, nhưng không đăng ký callback register_before_send/2. Plug.Conn.put_resp_header/3 thay thế một tiêu đề hiện có, do đó một ứng dụng mount thiết lập cache-control của riêng mình cho tài nguyên đã trả phí (ví dụ public, max-age=3600) sẽ âm thầm ghi đè giá trị private mà thư viện dựa vào, và CDN hoặc proxy ngược sau đó có thể lưu trữ phản hồi 200 kèm theo Payment-Receipt và phục vụ cả hai cho các khách hàng chưa thanh toán. Do đó, bảo đảm ở cấp độ thư viện bị vô hiệu hóa bởi ứng dụng mà nó bảo vệ. Vì lý do tương tự, một phản hồi downstream không phải 2xx vẫn mang theo Payment-Receipt dẫn đến việc phát hành hóa đơn cho một phản hồi không cung cấp tài nguyên nào.
Vấn đề này ảnh hưởng đến mpp: từ phiên bản 0.1.0 trước 0.16.2.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.