CVE-2026-44827 in diffusers
Tóm tắt
Bởi VulDB • 27/05/2026
Diffusers là một thư viện dành cho các mô hình khuếch tán đã được huấn luyện trước. Trước phiên bản 0.38.0, diffusers 0.37.0 cho phép thực thi mã từ xa (RCE) mà không có biện pháp bảo vệ trust_remote_code=True khi tải các pipeline từ các kho lưu trữ trên Hugging Face Hub. Hàm _resolve_custom_pipeline_and_cls trong pipeline_loading_utils.py thực hiện nội suy chuỗi trên tham số custom_pipeline bằng cách sử dụng f"{custom_pipeline}.py". Khi custom_pipeline không được người dùng cung cấp, nó mặc định là None, và Python sẽ nội suy giá trị này thành chuỗi ký tự "None.py". Nếu một kẻ tấn công công bố một kho lưu trữ Hub chứa một tệp có tên là None.py với một lớp kế thừa từ DiffusionPipeline, tệp này sẽ được tải xuống và thực thi tự động trong quá trình gọi DiffusionPipeline.from_pretrained() tiêu chuẩn mà không cần thêm các đối số từ khóa. Kiểm tra trust_remote_code trong DiffusionPipeline.download() bị bỏ qua vì nó đánh giá custom_pipeline is not None là False (do đối số từ khóa chưa bao giờ được cung cấp), trong khi đường dẫn mã phía dưới thực tế tải mô-đun sẽ giải quyết giá trị None thành một tên tệp hợp lệ. Một kẻ tấn công có thể đạt được việc thực thi mã tùy ý một cách thầm lặng bằng cách công bố một kho lưu trữ mô hình độc hại chứa tệp None.py và một tệp model_index.json trông giống tiêu chuẩn, tham chiếu đến tên lớp pipeline hợp lệ, chỉ yêu cầu nạn nhân gọi from_pretrained trên kho lưu trữ đó. Lỗ hổng này đã được sửa trong phiên bản 0.38.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.