OpenAI Codex: Lỗ hổng nghiêm trọng đe dọa chiếm quyền điều khiển

OpenAI Codex: Lỗ hổng nghiêm trọng đe dọa chiếm quyền điều khiển
CLOUD SERVER
Vững hạ tầng • Chắc thành công
☁️
⚡ Hiệu năng cao
🛡️ Bảo mật
📈 Mở rộng dễ dàng
🕒 Hỗ trợ 24/7
TÌM HIỂU NGAY

Gần đây, OpenAI Codex đã phải đối mặt với hai lỗ hổng bảo mật đáng kể, cho phép các kho lưu trữ độc hại có khả năng thực thi lệnh trên hệ thống cục bộ của nhà phát triển. Những lỗ hổng này, được xác định là Overpatch và Heapjack, đã được báo cáo cho OpenAI và được khắc phục trong vòng chưa đầy một tuần.

Heapjack: Lỗ hổng thực thi lệnh nghiêm trọng

Vấn đề nghiêm trọng hơn, Heapjack, phát sinh khi một nhà phát triển truy cập một kho lưu trữ do kẻ tấn công kiểm soát trong Codex và truy vấn tác nhân về nội dung của nó. Lỗ hổng này có thể dẫn đến thực thi lệnh mà không có bất kỳ lời nhắc phê duyệt hoặc cảnh báo nào, ngay cả khi Codex đang hoạt động ở chế độ sandbox chỉ đọc nghiêm ngặt.

Heapjack ảnh hưởng đến công cụ node_repl được cài đặt bởi Codex Desktop. Sau khi cài đặt, Codex Desktop đã ghi một khối cấu hình vào tệp ~/.codex/config.toml toàn cục, cho phép thành phần này khả dụng cho các phiên Codex CLI thông thường. Công cụ này hoạt động với một quy trình cha được viết bằng Rust và một quy trình Node.js được sandbox hóa.

Trong thiết lập này, cả mã OpenAI đáng tin cậy và mã không đáng tin cậy do tác nhân kiểm soát đều hoạt động trong các ngữ cảnh máy ảo V8 riêng biệt. Ngữ cảnh đáng tin cậy giữ một mã thông báo ủy quyền ngẫu nhiên được thiết kế để xác minh rằng các yêu cầu xuất phát từ các nguồn đáng tin cậy. Lỗ hổng phát sinh từ thực tế là cả hai ngữ cảnh đều chia sẻ cùng một V8 isolate và heap bộ nhớ.

Một thực thể JavaScript không đáng tin cậy có thể chụp nhanh heap và tìm kiếm các chuỗi giống UUID để xác định vị trí mã thông báo hợp lệ. Sau khi xác định, nó có thể gửi các yêu cầu giả mạo thông qua kênh chuẩn đầu ra được chia sẻ tới quy trình cha không được sandbox hóa. Các yêu cầu giả mạo này có thể gọi lệnh hệ thống open, cho phép khởi chạy các ứng dụng bên ngoài cấu trúc quy trình dự kiến của Codex.

Ngoài ra, cơ chế ủy quyền bị xâm phạm có thể cho phép tương tác với các socket Unix, bao gồm cả socket của Docker daemon, hoặc sửa đổi tệp cấu hình Codex toàn cục. Điều này nhấn mạnh một mối đe dọa mạng tiềm ẩn từ các lỗi trong cơ chế xác thực.

Overpatch: Lỗ hổng ghi đè tệp trong CLI Codex

Overpatch được xác định trong Codex CLI mã nguồn mở và công cụ chỉnh sửa apply_patch của nó. Trong một kịch bản lý tưởng, Codex sẽ chỉ hạn chế các sửa đổi tệp trong thư mục dự án đang hoạt động. Tuy nhiên, đã phát hiện ra rằng công cụ apply_patch cấp quyền dựa trên các thư mục cha được chỉ định trong một bản vá đã gửi.

Bằng cách bao gồm một thư mục có tên /tmp trong bản vá, công cụ này có thể nhầm lẫn mở rộng quyền ghi bắt đầu từ thư mục gốc, vượt qua các giới hạn không gian làm việc dự kiến. Một bằng chứng khái niệm đã chứng minh lỗ hổng này bằng cách sử dụng một liên kết tượng trưng để thêm một lệnh độc hại vào tệp .zshrc của người dùng nằm trong thư mục chính. Mặc dù nỗ lực vá lỗi cụ thể này liên quan đến /tmp đã thất bại vì nó nhằm ghi đè một thư mục, nó vẫn vô tình mở rộng quyền ghi tệp của công cụ.

Kết quả là, khi người dùng sau đó mở một thiết bị đầu cuối, cấu hình shell đã sửa đổi có thể thực thi mã do kẻ tấn công kiểm soát bên ngoài sandbox của Codex. Sự cố này nhấn mạnh rằng các ranh giới bảo mật không nên được xác định bởi các đường dẫn do nội dung không đáng tin cậy cung cấp. Vì kẻ tấn công có thể ảnh hưởng đến nội dung bản vá, có nguy cơ yêu cầu chỉnh sửa có thể cấp quyền truy cập vào các khu vực bên ngoài thư mục dự án, dẫn đến khả năng khai thác.

Phản ứng của OpenAI và Khuyến nghị Bảo mật

OpenAI đã phản hồi nhanh chóng với các lỗ hổng này, khắc phục Overpatch trong Codex CLI phiên bản 0.149.0 và Heapjack trong bản dựng Codex Desktop 26.818.21641. Người dùng được khuyên nên cập nhật cả ứng dụng desktop và trình khách dòng lệnh, đặc biệt nếu họ thường xuyên tương tác với các kho lưu trữ được sao chép, của bên thứ ba hoặc không đáng tin cậy.

Cuối cùng, những lỗ hổng này đóng vai trò như một lời nhắc nhở về các mối quan tâm bảo mật bao trùm liên quan đến các tác nhân AI: logic thực thi và thông tin nhạy cảm phải được giữ riêng biệt với các môi trường do mã không đáng tin cậy kiểm soát. Các nhà phát triển nên coi sandbox là một phương tiện để giảm thiểu rủi ro chứ không phải là sự đảm bảo tuyệt đối rằng nội dung từ các kho lưu trữ không quen thuộc là an toàn.

Điều quan trọng là phải coi các kho lưu trữ không đáng tin cậy một cách thận trọng, duy trì các phiên bản Codex được cập nhật và không chỉ dựa vào chế độ chỉ đọc làm biện pháp bảo vệ chống lại việc thực thi mã tiềm ẩn do các tác nhân điều khiển. Để đảm bảo an toàn thông tin, việc cập nhật bản vá và tuân thủ các khuyến nghị bảo mật là rất cần thiết.

Các lỗ hổng này có thể dẫn đến chiếm quyền điều khiển hệ thống nếu không được khắc phục kịp thời. Việc nâng cấp lên phiên bản mới nhất là một biện pháp bảo vệ mạng quan trọng.

Để tìm hiểu thêm về các lỗ hổng bảo mật và cách chúng có thể ảnh hưởng đến hệ thống của bạn, bạn có thể tham khảo các báo cáo chi tiết từ các nguồn uy tín.

Thông tin về các lỗ hổng CVE thường được cập nhật trên các cơ sở dữ liệu như NVD.