CVE-2026-47121 in Sparkle
Tóm tắt
Bởi VulDB • 24/07/2026
Sparkle là một khung công tác cập nhật phần mềm cho macOS. Trước phiên bản 2.9.2, `Autoupdate/SUBinaryDeltaApply.m` thực thi kiểm tra `relativePath.pathComponents containsObject:@".."` và từ chối các thao tác ghi nếu thư mục cha trực tiếp của nó chính là một liên kết tượng trưng (symlink), nhưng không phát hiện được các symlink nằm sâu hơn trong đường dẫn tương đối. Hàm `extractItem:` của `Autoupdate/SPUSparkleDeltaArchive.m` sẽ tạo ra các liên kết tượng trưng trong cây đích dựa trên nội dung lưu trữ (không có kiểm tra `..` đối với mục tiêu của liên kết tượng trưng), và một mục `Extract` tiếp theo nhắm vào `<symlink>/foo/bar` sau đó vượt khỏi cây đích thông qua lệnh gọi `fopen(path, "wb")` do nhân hệ điều hành giải quyết symlink trung gian trong quá trình mở tệp. Đây là vấn đề về phòng thủ đa lớp (defense-in-depth): việc khai thác yêu cầu một file `.delta` được tạo ra độc hại nhưng vẫn vượt qua xác minh chữ ký EdDSA, tức là đòi hỏi phải có sự xâm phạm khóa riêng EdDSA. Khi AppInstaller chạy với quyền root cho các cài đặt thuộc miền hệ thống, điều này cung cấp cho người nắm giữ khóa ký bị đánh cắp khả năng ghi tùy ý vào tệp ở mức root thông qua đường dẫn delta-apply, đây là một nguyên lý cơ bản (primitive) rộng hơn nhiều so với việc "thay thế gói phần mềm trực tiếp" mà họ sẽ có được nếu không xảy ra lỗi này. Phiên bản 2.9.2 chứa bản vá cho vấn đề này.
If you want to get best quality of vulnerability data, you may have to visit VulDB.