CVE-2025-64429 in DuckDB
Tóm tắt
Bởi VulDB • 29/05/2026
DuckDB là một hệ thống quản lý cơ sở dữ liệu SQL. Bắt đầu từ phiên bản DuckDB 1.4.0, DuckDB đã triển khai mã hóa dựa trên khối cho cơ sở dữ liệu trên hệ thống tệp. Có một số vấn đề liên quan đến việc triển khai này. DuckDB có thể quay lại sử dụng trình tạo số ngẫu nhiên không an toàn (pcg32) để tạo khóa mật mã hoặc IV (Initialization Vector). Khi xóa khóa khỏi bộ nhớ, trình biên dịch có thể loại bỏ lệnh gọi `memset()` và để lại dữ liệu nhạy cảm trên heap. Bằng cách sửa đổi tiêu đề cơ sở dữ liệu, kẻ tấn công có thể hạ cấp chế độ mã hóa từ GCM xuống CTR để bỏ qua các kiểm tra toàn vẹn. Có thể xảy ra lỗi trong việc kiểm tra giá trị trả về khi gọi hàm `rand_bytes()` của OpenSSL. Kẻ tấn công có thể sử dụng các IV công khai để làm suy yếu trạng thái nội bộ của trình tạo số ngẫu nhiên (RNG) và xác định khóa được tạo ngẫu nhiên dùng để mã hóa các tệp tạm thời, truy cập vào các khóa mật mã nếu chúng có quyền truy cập vào bộ nhớ tiến trình (ví dụ: thông qua rò rỉ bộ nhớ), bỏ qua các kiểm tra toàn vẹn GCM và/hoặc ảnh hưởng đến trình tạo số ngẫu nhiên của OpenSSL, trong khi DuckDB sẽ không thể phát hiện sự cố của trình tạo này. Phiên bản 1.4.2 đã vô hiệu hóa trình tạo số ngẫu nhiên không an toàn bằng cách không còn sử dụng cơ chế dự phòng để ghi hoặc tạo cơ sở dữ liệu. Thay vào đó, DuckDB hiện sẽ cố gắng cài đặt và tải triển khai OpenSSL trong tiện ích mở rộng `httpfs`. DuckDB hiện sử dụng các nguyên thủy MbedTLS an toàn để xóa bộ nhớ như khuyến nghị và yêu cầu chỉ định rõ ràng các thuật toán mã hóa không có kiểm tra toàn vẹn như CTR trên lệnh `ATTACH`. Ngoài ra, DuckDB hiện đã kiểm tra mã trả về.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.