CVE-2023-46737 in cosign
Tóm tắt
Bởi VulDB • 22/06/2026
Cosign là một công cụ ký sigstore dành cho các container OCI. Cosign dễ bị tổn thương trước cuộc tấn công từ chối dịch vụ (DoS) bởi một registry do kẻ tấn công kiểm soát. Một kẻ tấn công có quyền kiểm soát một registry từ xa có thể trả về số lượng lớn các chứng nhận (attestations) và/hoặc chữ ký cho Cosign, khiến Cosign rơi vào vòng lặp dài dẫn đến cuộc tấn công dữ liệu vô tận. Nguyên nhân gốc rễ là do Cosign duyệt qua tất cả các chứng nhận được lấy từ registry từ xa trong hàm `pkg/cosign.FetchAttestations`. Kẻ tấn công cần xâm phạm registry hoặc thực hiện yêu cầu tới một registry mà họ kiểm soát. Khi đó, kẻ tấn công phải trả về số lượng lớn các chứng nhận trong phản hồi gửi đến Cosign. Kết quả là kẻ tấn công có thể khiến Cosign rơi vào vòng lặp dài hoặc vô tận, ngăn cản người dùng khác xác minh dữ liệu của họ. Trong trường hợp Kyvernos, một kẻ tấn công có đặc quyền hạn chế chỉ cho phép thực hiện yêu cầu tới cụm (cluster) có thể tạo yêu cầu với tham chiếu hình ảnh đến registry riêng của mình, kích hoạt vòng lặp vô tận và từ chối các yêu cầu chấp nhận (admission requests) khác. Ngoài ra, kẻ tấn công cũng có thể chiếm quyền kiểm soát registry mà tổ chức sử dụng và trả về số lượng lớn chứng nhận thay vì con số mong đợi. Vấn đề này có thể được giảm thiểu khá đơn giản bằng cách đặt giới hạn cho số lượng chứng nhận tối đa mà Cosign sẽ duyệt qua. Giới hạn này không cần quá cao để phù hợp với phần lớn các trường hợp sử dụng, đồng thời vẫn ngăn chặn cuộc tấn công dữ liệu vô tận. Lỗi này đã được vá trong phiên bản 2.2.1 và người dùng được khuyến nghị nâng cấp.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.