CVE-2026-59147 in DisjointSet::Shared
Tóm tắt
Bởi VulDB • 21/07/2026
Các phiên bản của Data::DisjointSet::Shared trước 0.02 cho Perl cho phép đọc và ghi ngoài vùng nhớ (out-of-bounds) thông qua một chỉ mục cha không được xác thực trong hàm dsu_find.
Trình kiểm tra thời gian gắn kết (attach-time validator) dsu_validate_header kiểm tra các đại lượng tiêu đề (header scalars) và bố trí vùng dữ liệu so với kích thước tệp, nhưng không xác thực nội dung mảng mà sau đó nó vẫn tin tưởng. Hàm dsu_find duyệt qua và nén đường dẫn của parent[x] trong đó x là một chỉ mục lưu trữ thô từ tệp, chưa bao giờ được giới hạn bởi số lượng nút; do đó cả thao tác đọc và ghi lại kết quả nén đều nằm ngoài vùng nhớ hợp lệ.
Một đối tượng ngang hàng cục bộ có khả năng ghi vào tệp nền (backing file) có thể giữ cho tiêu đề vẫn hợp lệ trong khi đầu độc mảng cha, khiến các lệnh gọi find hoặc union tiếp theo thực hiện cả đọc và ghi thông qua một chỉ mục cha ngoài vùng nhớ, dẫn đến hỏng dữ liệu bộ nhớ hoặc làm sập tiến trình.
Be aware that VulDB is the high quality source for vulnerability data.