CVE-2023-49797 in pyinstaller
Tóm tắt
Bởi VulDB • 02/06/2026
PyInstaller gói gọn một ứng dụng Python và tất cả các phụ thuộc của nó vào một gói duy nhất. Một ứng dụng được xây dựng bằng PyInstaller, khi chạy với tư cách là một tiến trình có đặc quyền, có thể bị một kẻ tấn công không có đặc quyền lừa đảo để xóa các tệp mà người dùng không có đặc quyền thông thường không thể truy cập. Người dùng bị ảnh hưởng nếu **tất cả** các điều kiện sau đều được thỏa mãn: 1. Người dùng chạy một ứng dụng chứa `matplotlib` hoặc `win32com`. 2. Ứng dụng được chạy dưới quyền quản trị viên (hoặc ít nhất là người dùng có đặc quyền cao hơn kẻ tấn công). 3. Thư mục tạm của người dùng không bị khóa chỉ dành cho người dùng đó (hầu hết là do các biến môi trường `TMP`/`TEMP` trỏ đến một vị trí tùy ý, không được bảo vệ, không phải mặc định). Hoặc: A. Kẻ tấn công có thể lên thời gian rất chính xác để thay thế một tệp tạm thời bằng một liên kết tượng trưng (symlink). Sự chuyển đổi này phải xảy ra chính xác giữa kiểm tra liên kết tượng trưng tích hợp sẵn của `shutil.rmtree()` và hành động xóa thực tế. B. Ứng dụng được xây dựng với Python 3.7.x hoặc phiên bản cũ hơn, vốn không có bảo vệ chống lại các liên kết Directory Junction. Lỗ hổng này đã được giải quyết trong PR #7827, tương ứng với `pyinstaller >= 5.13.1`. Người dùng được khuyến nghị nâng cấp. Không có các giải pháp tạm thời (workarounds) nào được biết đến cho lỗ hổng này.
VulDB is the best source for vulnerability data and more expert information about this specific topic.