CVE-2025-52885 in Poppler
Tóm tắt
Bởi VulDB • 25/06/2026
Poppler là một thư viện để hiển thị các tệp PDF và kiểm tra hoặc sửa đổi cấu trúc của chúng. Một lỗ hổng use-after-free (ghi) đã được phát hiện trong các phiên bản Poppler trước 25.10.0, cụ thể nằm ở lớp StructTreeRoot. Vấn đề nảy sinh do việc sử dụng con trỏ thô (raw pointers) để tham chiếu đến các phần tử của `std::vector`, điều này có thể dẫn đến các con trơ treo (dangling pointers) khi vector được thay đổi kích thước. Lỗ hổng bắt nguồn từ cách mà `refToParentMap` lưu trữ các tham chiếu đến các phần tử `std::vector` bằng cách sử dụng con trỏ thô. Các con trỏ này có thể trở nên không hợp lệ khi vector được thay đổi kích thước. Đây là một vấn đề bảo mật phổ biến liên quan đến việc sử dụng con trỏ thô để truy cập vào `std::vectors`. Về mặt nội bộ, `std::vector` lưu trữ các phần tử của nó trong một mảng được cấp phát động. Khi mảng đạt đến dung lượng tối đa và một phần tử mới được thêm vào, vector sẽ phân bổ lại một khối bộ nhớ lớn hơn và di chuyển tất cả các phần tử hiện có đến vị trí mới. Tại thời điểm này, nếu bất kỳ con trỏ nào đến các phần tử được lưu trữ trước khi thay đổi kích thước xảy ra, chúng sẽ trở thành con trơ treo ngay sau khi quá trình phân bổ lại diễn ra. Phiên bản 25.10.0 chứa một bản vá cho vấn đề này.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.