Khai thác Lỗ hổng Home Assistant: RCE Nghiêm trọng

Khai thác Lỗ hổng Home Assistant: RCE Nghiêm trọng
CLOUD HOSTING
DỊCH VỤ
VPS • CLOUD • SERVER
Hiệu năng cao
Ổn định • Bảo mật • Tốc độ
☁️
SSD NVMe 99.9% 24/7
TÌM HIỂU NGAY

Một lỗ hổng Home Assistant mới được công bố đã tiết lộ cách thức xử lý đầu vào FFmpeg không đúng cách có thể bị khai thác lỗ hổng để đánh cắp các tệp nhạy cảm và cuối cùng cho phép thực thi lệnh ở cấp độ root trên các hệ thống bị ảnh hưởng.

Vấn đề này, được phát hiện bởi các nhà nghiên cứu bảo mật tại elttam, nhấn mạnh những rủi ro khi tích hợp các công cụ đa phương tiện mạnh mẽ như FFmpeg vào các ứng dụng mà không có sự xác thực đầu vào nghiêm ngặt.

Tổng quan về Home Assistant và Nguồn gốc Lỗ hổng

Home Assistant là một nền tảng nhà thông minh mã nguồn mở được sử dụng rộng rãi, hỗ trợ một hệ sinh thái rộng lớn các thiết bị và dịch vụ. Kiến trúc ưu tiên cục bộ và tính linh hoạt của nó đã khiến nền tảng này trở thành lựa chọn phổ biến cho những người dùng quan tâm đến quyền riêng tư.

Tuy nhiên, việc triển khai nó trong các mạng gia đình đáng tin cậy cũng khiến nó trở thành mục tiêu hấp dẫn cho những kẻ tấn công tìm kiếm sự di chuyển ngang hoặc chiếm quyền điều khiển hệ thống hoàn chỉnh.

Cơ chế Argument Injection trong FFmpeg

Lỗ hổng nằm trong tích hợp Wyoming, cụ thể là trong tính năng “announce” được sử dụng để phát lại âm thanh. Chức năng này dựa vào FFmpeg để xử lý các luồng phương tiện, truyền trực tiếp đầu vào do người dùng cung cấp làm đối số lệnh.

Mặc dù đây không phải là lỗi command injection cổ điển, nhưng nó cho phép argument injection. Điều này giúp kẻ tấn công có thể thao túng cách FFmpeg giải thích các nguồn đầu vào.

Các nhà nghiên cứu đã phát hiện ra rằng, mặc dù một số giao thức, chẳng hạn như HTTP và HTTPS, đã bị hạn chế để ngăn chặn tấn công giả mạo yêu cầu phía máy chủ (SSRF), nhưng một số giao thức giả của FFmpeg vẫn được phép.

Khai thác Lỗ hổng: Vượt qua Xác thực và Đánh cắp Dữ liệu

Các giao thức giả của FFmpeg bao gồm “file:”, “concat:”“subfile:”. Chúng có thể được kết nối với nhau để tạo ra các luồng đầu vào phức tạp. Bằng cách tận dụng các giao thức này, kẻ tấn công có thể vượt qua các kiểm soát xác thực và hướng dẫn FFmpeg đọc các tệp cục bộ tùy ý.

Kỹ thuật Header Âm thanh Tổng hợp

Một trong những thách thức chính trong quá trình khai thác lỗ hổng là yêu cầu của FFmpeg về đầu vào âm thanh hợp lệ. Việc đọc trực tiếp các tệp nhạy cảm, như “/proc/self/environ”, sẽ thất bại vì chúng thiếu các tiêu đề âm thanh phù hợp.

Để khắc phục hạn chế này, các nhà nghiên cứu elttam đã phát triển một kỹ thuật độc đáo. Kỹ thuật này xây dựng một tiêu đề âm thanh tổng hợp bằng cách sử dụng lại các dải byte cụ thể được trích xuất từ một tệp nhị phân hiện có trên hệ thống mục tiêu. Chi tiết về kỹ thuật này có thể được tìm thấy trong blog của Elttam.

Các đoạn byte này được kết hợp bằng cách sử dụng các giao thức giả của FFmpeg để tạo một luồng hợp lệ. Điều này cho phép nội dung của tệp mục tiêu được xử lý và trích xuất.

Tác động và Điều kiện khai thác Lỗ hổng

Bằng cách sử dụng phương pháp này, kẻ tấn công có thể truy xuất các biến môi trường, bao gồm cả SUPERVISOR_TOKEN có độ nhạy cảm cao. Mã thông báo này cung cấp quyền truy cập đặc quyền vào API giám sát của Home Assistant.

API này có thể bị khai thác lỗ hổng để thực thi các lệnh với tư cách là người dùng root trên hệ thống máy chủ. Kết quả là hệ thống Home Assistant bị chiếm quyền điều khiển hoàn toàn và có khả năng cả hệ điều hành cơ bản.

Điều kiện thực thi mã từ xa (Remote Code Execution)

Thành công của quá trình remote code execution yêu cầu các điều kiện cụ thể. Kẻ tấn công phải kiểm soát một vệ tinh Wyoming Assist đã được ghép nối với hệ thống mục tiêu. Điều này thường đòi hỏi quyền truy cập mạng cục bộ trong quá trình thiết lập.

Ngoài ra, cần có một mã thông báo API Home Assistant hợp lệ để kích hoạt điểm cuối “announce” dễ bị tấn công. Bất chấp những hạn chế này, cuộc tấn công có thể có tác động đáng kể trong các kịch bản thực tế, đặc biệt là trong các môi trường mà kẻ tấn công đã có được quyền truy cập hạn chế.

Giải pháp: Bản vá Bảo mật và Bài học Kinh nghiệm

Vấn đề đã được khắc phục trong Home Assistant Core phiên bản 2026.6.2. Bản vá bảo mật này giới thiệu một danh sách giao thức được phép nghiêm ngặt (strict protocol allowlist) cho FFmpeg.

Danh sách này giới hạn các nguồn đầu vào được phép đối với các tùy chọn an toàn như HTTP, HTTPS, file, TCP và TLS. Điều quan trọng là bản vá bảo mật đảm bảo rằng danh sách được phép được áp dụng trước đối số đầu vào, ngăn chặn mọi hành vi bỏ qua do hành vi phân tích đối số của FFmpeg.

Ý nghĩa An ninh Mạng Rộng hơn

Lỗ hổng Home Assistant này nhấn mạnh một bài học bảo mật rộng hơn. Ngay cả các công cụ đã được thiết lập tốt như FFmpeg cũng có thể trở nên nguy hiểm khi được tích hợp mà không có sự xử lý đầu vào cẩn thận. Khi các nền tảng nhà thông minh tiếp tục mở rộng khả năng của mình, việc đảm bảo tương tác an toàn giữa các thành phần vẫn là yếu tố quan trọng để ngăn chặn các chuỗi tấn công phức tạp.