Nguy hiểm: Lỗ hổng UniFi OS cho phép Remote Code Execution nghiêm trọng

Nguy hiểm: Lỗ hổng UniFi OS cho phép Remote Code Execution nghiêm trọng

Các nhà nghiên cứu bảo mật đã công bố một lỗ hổng CVE đặc biệt nghiêm trọng, cho phép thực hiện remote code execution (RCE) không cần xác thực trong hệ điều hành UniFi của Ubiquiti. Khám phá đột phá này đã được đền đáp bằng một khoản bug bounty đáng kể lên tới 25.000 USD, nhấn mạnh mức độ rủi ro và tầm quan trọng của nó.

Lỗ hổng, được định danh là CVE-2025-52665, mang tính chất critical và cho phép kẻ tấn công giành quyền kiểm soát hoàn toàn các thiết bị UniFi. Điều này xảy ra mà không yêu cầu bất kỳ thông tin xác thực hoặc tương tác người dùng nào, đặt ra nguy cơ an ninh mạng cao cho các tổ chức sử dụng bộ định tuyến UniFi Dream Machine và hệ thống kiểm soát truy cập của Ubiquiti.

Nội dung
Phân tích Kỹ thuật CVE-2025-52665 và Cơ chế Tấn công

Nguồn gốc Lỗ hổng và Bỏ qua Hạn chế Truy cập Nội bộ
Nguyên nhân Cốt lõi: Lỗi Xác thực Đầu vào Dẫn đến Command Injection
Phương pháp Khai thác Lỗ hổng và Hậu quả Nghiêm trọng

Kỹ thuật Khai thác Command Injection để Chiếm Quyền Điều khiển Hệ thống
Tác động: Toàn quyền Chiếm Quyền Điều khiển Hệ thống và Dữ liệu Nhạy cảm
Phơi bày các Điểm cuối API nhạy cảm bổ sung

Tiết lộ Thông tin Xác thực NFC và Google Pass Không yêu cầu Xác thực

Phân tích Kỹ thuật CVE-2025-52665 và Cơ chế Tấn công

Nguồn gốc Lỗ hổng và Bỏ qua Hạn chế Truy cập Nội bộ

Gốc rễ của lỗ hổng CVE này nằm ở một điểm cuối API sao lưu bị cấu hình sai, cụ thể là /api/ucore/backup/export. Ban đầu, điểm cuối này được thiết kế một cách cẩn trọng để chỉ hoạt động trên giao diện loopback cục bộ. Mục đích là để đảm bảo tính biệt lập và ngăn chặn truy cập từ bên ngoài, nhằm duy trì tính toàn vẹn của hệ thống.

Tuy nhiên, các nhà nghiên cứu đã phát hiện ra một sơ hở nghiêm trọng: điểm cuối này lại có thể truy cập được từ bên ngoài thông qua cổng 9780. Khả năng truy cập không mong muốn này đã cho phép kẻ tấn công bỏ qua hoàn toàn các hạn chế bảo mật đã định, mở ra một đường dẫn trực tiếp và không được kiểm soát đến chức năng sao lưu cốt lõi của hệ thống, dẫn đến nguy cơ remote code execution.

Nguyên nhân Cốt lõi: Lỗi Xác thực Đầu vào Dẫn đến Command Injection

Lỗ hổng chính yếu xuất phát từ việc kiểm tra đầu vào không đúng cách đối với tham số dir. Tham số này là một yếu tố quan trọng trong quá trình sao lưu, nhưng lại được hệ thống điều phối sao lưu truyền trực tiếp vào các lệnh shell cơ bản mà không qua bất kỳ quá trình làm sạch (sanitization) hoặc thoát (escaping) phù hợp nào. Việc thiếu sót này tạo ra một kẽ hở bảo mật nghiêm trọng.

Khi tiến hành phân tích sâu mã nguồn của dịch vụ UniFi Core, các nhà nghiên cứu đã xác định rằng hoạt động sao lưu sử dụng một chuỗi các lệnh shell quan trọng. Các lệnh này bao gồm mktemp, chmod, và tar, trực tiếp nội suy (interpolate) đường dẫn thư mục do người dùng cung cấp thông qua tham số dir.

Mẫu thiết kế thiếu an toàn này đã tạo ra một cơ hội vàng cho các cuộc tấn công command injection. Bất kỳ ký tự đặc biệt nào (metacharacters) trong đầu vào đều sẽ được hệ thống hiểu và thực thi như các lệnh shell mới, thay vì chỉ là các thành phần của đường dẫn tệp thông thường. Điều này trực tiếp dẫn đến khả năng thực hiện remote code execution một cách dễ dàng và hiệu quả.

Phương pháp Khai thác Lỗ hổng và Hậu quả Nghiêm trọng

Kỹ thuật Khai thác Command Injection để Chiếm Quyền Điều khiển Hệ thống

Các nhà nghiên cứu đã chứng minh khả năng khai thác thành công lỗ hổng CVE-2025-52665 này bằng cách chế tạo một payload JSON độc hại tinh vi. Payload này được thiết kế để chấm dứt lệnh shell dự kiến và chèn mã tùy ý của kẻ tấn công vào hệ thống, mở đường cho việc chiếm quyền điều khiển hoàn toàn.

Quy trình tấn công yêu cầu gửi một yêu cầu POST đến điểm cuối bị lộ, trong đó tham số dir được định dạng đặc biệt, chứa các chuỗi command injection đã được chuẩn bị kỹ lưỡng. Đây là bước then chốt để kích hoạt khả năng remote code execution.

Bằng cách khéo léo sử dụng dấu chấm phẩy (;) để phân tách các lệnh và dấu thăng (#) để vô hiệu hóa phần còn lại của cú pháp shell, kẻ tấn công có thể thực thi bất kỳ lệnh nào với đầy đủ đặc quyền hệ thống. Đây là một phương thức cực kỳ hiệu quả để đạt được remote code execution trên thiết bị UniFi.

Dưới đây là một ví dụ minh họa về cấu trúc của payload JSON được sử dụng để thực hiện remote code execution, cho phép kẻ tấn công thực thi lệnh hệ thống:

POST /api/ucore/backup/export HTTP/1.1
Host: [Địa_chỉ_IP_Thiết_bị_UniFi]:9780
Content-Type: application/json
Content-Length: [Kích_thước_payload]

{"dir": "; id > /tmp/output.txt; whoami >> /tmp/output.txt; cat /etc/shadow >> /tmp/sensitive_data.txt #"}

Để có cái nhìn sâu hơn về kỹ thuật khai thác chi tiết và các trường hợp thực tế, độc giả quan tâm có thể tham khảo bài viết chuyên sâu trên blog của Catchify Security, cung cấp phân tích chi tiết về lỗ hổng CVE này: CVE-2025-52665: RCE in UniFi OS ($25,000).

Tác động: Toàn quyền Chiếm Quyền Điều khiển Hệ thống và Dữ liệu Nhạy cảm

Mức độ nghiêm trọng của lỗ hổng đã được minh chứng rõ ràng khi các nhà nghiên cứu thành công trong việc trích xuất tệp /etc/passwd, chứa thông tin người dùng hệ thống nhạy cảm. Họ cũng thiết lập một kết nối reverse shell, cho phép truy cập tương tác hoàn toàn vào thiết bị bị xâm nhập và thực hiện các hành vi độc hại khác.

Ngoài quyền truy cập hệ thống cơ bản thông qua remote code execution, lỗ hổng RCE này còn cung cấp khả năng truy cập trực tiếp và không được kiểm soát vào các thành phần của UniFi Access. Điều này có nghĩa là kẻ tấn công có thể dễ dàng chiếm quyền điều khiển các hệ thống cửa vật lý, quản lý ra vào, và toàn bộ cơ sở hạ tầng quản lý thông tin xác thực NFC.

Khả năng chiếm quyền điều khiển các chức năng vật lý và logic này biến CVE-2025-52665 trở thành một mối đe dọa an ninh mạng cực kỳ nghiêm trọng. Đây là một cảnh báo CVE khẩn cấp cho bất kỳ tổ chức nào đang triển khai hoặc quản lý các giải pháp UniFi, đòi hỏi hành động khắc phục ngay lập tức để bảo vệ tài sản.

Phơi bày các Điểm cuối API nhạy cảm bổ sung

Tiết lộ Thông tin Xác thực NFC và Google Pass Không yêu cầu Xác thực

Cuộc điều tra sâu rộng đã không chỉ dừng lại ở việc phát hiện lỗ hổng remote code execution chính. Nó còn tiết lộ sự tồn tại của nhiều điểm cuối API khác không yêu cầu xác thực, làm trầm trọng thêm tình hình bảo mật tổng thể của hệ thống UniFi.

Đáng chú ý, điểm cuối /api/v1/user_assets/nfc được phát hiện chấp nhận các yêu cầu POST để cấp phát thông tin xác thực mới mà không cần bất kỳ hình thức xác thực nào. Điều này mở ra khả năng kẻ tấn công tạo ra các thông tin truy cập giả mạo.

Hơn nữa, điểm cuối /api/v1/user_assets/touch_pass/keys đã làm lộ ra các tài liệu xác thực cực kỳ nhạy cảm. Điều này bao gồm các khóa NFC của Apple và dữ liệu xác thực Google Pass, trong đó có chứa các khóa riêng tư được định dạng PEM. Việc lộ lọt những thông tin này có thể dẫn đến việc đánh cắp danh tính và bypass các hệ thống bảo mật vật lý.

Những lỗ hổng bổ sung này chồng chất lên tác động bảo mật ban đầu của RCE, tạo thành một kịch bản tấn công đa lớp. Chúng không chỉ cho phép kẻ tấn công thao túng các hệ thống kiểm soát truy cập mà còn có thể đánh cắp các thông tin xác thực mật mã quan trọng. Các thông tin này vốn được thiết kế để bảo vệ các cơ chế xác thực di động và dựa trên NFC, làm tăng nguy cơ chiếm quyền điều khiển toàn diện và hậu quả dài hạn.