Nghiên cứu: có thể thay thế lén ứng dụng macOS đã tải từ web, Gatekeeper không chặn triệt để
"Researchers Talal Haj Bakry and Tommy Mysk reported that macOS Gatekeeper can be bypassed to silently replace the main executable of a downloaded app that has already been run once, without requiring elevated privileges. Apple reportedly treated the archive/restore overwrite as a locally built app bundle rather than a modified signed executable, so no CVE was cited and no fix was publicly detailed beyond Apple closing the report."
Nguy cơ nằm ở việc Gatekeeper có thể không ngăn được thay thế gói ứng dụng sau lần mở đầu; kẻ tấn công cần quyền thực thi mức người dùng. Điểm đáng chú ý gồm: archive/restore bằng tar và cách Apple phân loại đây là locally built app bundle.
Tác động chủ yếu đến các tổ chức có người dùng cài/khởi chạy ứng dụng tải từ web và có bề mặt để đạt user-level execution. Rủi ro tăng khi chuỗi cung ứng hoặc kênh kỹ thuật xã hội cho phép người dùng chạy lệnh, dẫn tới mạo danh ứng dụng và khả năng lừa người dùng.
Các nhà nghiên cứu Talal Haj Bakry và Tommy Mysk cho biết macOS Gatekeeper có thể bị vượt qua để thay thế âm thầm phần thực thi chính của một ứng dụng đã tải từ Internet và đã được mở ít nhất một lần. Kịch bản không phải “zero-click” vì kẻ tấn công cần có quyền thực thi mã mức người dùng (ví dụ qua ứng dụng độc hại, lệnh do người dùng tự chạy, prompt injection với tác nhân AI, hoặc tấn công chuỗi cung ứng qua npm/brew).
Nhóm mô tả cách thực hiện: sau khi Gatekeeper hoàn tất bước kiểm tra ban đầu, kẻ tấn công dùng tar để archive/restore gói ứng dụng, sau đó xóa bản gốc và thay bằng phiên bản độc hại. Theo giải thích được trích dẫn, Apple cho rằng thao tác này không phải “modifying executable đã ký”, mà là ghi đè toàn bộ gói như một bản “locally built app bundle”, nên không áp dụng các cơ chế bảo vệ tương tự.
Phát hiện không áp dụng cho ứng dụng từ Mac App Store vì chúng do root sở hữu. Khuyến nghị: hạn chế chạy mã từ nguồn không tin cậy, tăng giám sát các hành vi archive/restore và thay đổi gói ứng dụng, đồng thời rà soát quy trình quản trị để giảm khả năng kẻ tấn công đạt user-level code execution.