Phân tích lỗ hổng nghiêm trọng trên ChatGPT: Chiếm quyền tài khoản qua liên kết độc hại
Các nhà nghiên cứu bảo mật vừa công bố chi tiết về một lỗ hổng nghiêm trọng trên ChatGPT, cho phép kẻ tấn công thực thi mã JavaScript tùy ý, đánh cắp dữ liệu hội thoại và chiếm quyền điều khiển tài khoản người dùng chỉ với một liên kết.

- Bản chất lỗ hổng: Lỗ hổng cho phép kẻ tấn công thực thi mã JavaScript tùy ý trong phiên làm việc của người dùng thông qua tính năng HTML Preview của ChatGPT.
- Cơ chế khai thác: Kẻ tấn công lợi dụng giao diện
postMessagecủa thư viện MathLive để tiêm mã HTML độc hại vào trang chính, từ đó vượt qua các rào cản bảo mật (sandbox).- Tác động: Kẻ tấn công có thể liệt kê danh sách các cuộc trò chuyện riêng tư, đọc nội dung hội thoại và gửi dữ liệu bị đánh cắp đến máy chủ bên ngoài.
- Trạng thái: OpenAI đã khắc phục lỗ hổng vào ngày 26/10/2026 và trao thưởng 5.000 USD cho nhóm nghiên cứu Parameter.
Một lỗ hổng bảo mật nghiêm trọng trên nền tảng ChatGPT đã được phát hiện, cho phép các đối tượng tấn công thực thi mã JavaScript tùy ý trong phiên làm việc đã đăng nhập của người dùng khác. Thông qua việc gửi một liên kết được chế tạo đặc biệt, kẻ tấn công có thể truy cập vào các cuộc trò chuyện riêng tư, đọc các nội dung chưa từng được chia sẻ và truyền dữ liệu nhạy cảm về máy chủ điều khiển từ xa. Đây là một cảnh báo quan trọng về rủi ro bảo mật trong các ứng dụng AI hiện đại.
Chi tiết về lỗ hổng ChatGPT và cơ chế khai thác
Theo báo cáo kỹ thuật từ nhóm nghiên cứu Parameter, lỗ hổng này được OpenAI phân loại ở mức độ P1. Điểm mấu chốt của cuộc tấn công nằm ở sự kết hợp giữa tính năng đồ thị tương tác (interactive graph) và tính năng HTML Preview của ChatGPT. Thông thường, tính năng Preview chạy mã trong một khung (frame) bị hạn chế trên một địa chỉ web riêng biệt, giúp ngăn chặn việc truy cập trực tiếp vào trang chính của ChatGPT.
Tuy nhiên, các nhà nghiên cứu đã phát hiện ra rằng đồ thị này tải thư viện MathLive, một thư viện toán học có thêm trình lắng nghe thông báo (message listener) vào trang chính để hỗ trợ bàn phím ảo. Thông qua giao diện postMessage của trình duyệt, tính năng Preview bị cô lập có thể gửi các chỉ thị đến trình lắng nghe này. Đáng chú ý, MathLive chấp nhận các thay đổi bàn phím mà không kiểm tra nguồn gốc (origin) của người gửi hoặc yêu cầu cửa sổ nguồn được phê duyệt.

Kỹ thuật tiêm mã và vượt qua Sandbox
Trong quá trình khai thác, một thông báo được gửi đi chứa bố cục bàn phím bao gồm mã HTML do kẻ tấn công kiểm soát. Một thông báo khác kích hoạt bàn phím, đưa mã HTML đó vào trang ChatGPT thực tế thông qua thuộc tính innerHTML. Một hàm hỗ trợ có tên createHTML đã chuyển nội dung này mà không loại bỏ các thẻ đánh dấu không an toàn, tạo điều kiện cho việc tiêm mã.
Để thực thi JavaScript, các nhà nghiên cứu đã chèn một iframe sử dụng thuộc tính srcdoc, cho phép lưu trữ HTML của trang nhúng trực tiếp trong một thuộc tính. Vì khung mới này thiếu các hạn chế sandbox, nó kế thừa nguồn gốc web (web origin) của ChatGPT và có khả năng truy cập vào trang cha. Dưới đây là các thành phần kỹ thuật chính liên quan đến lỗ hổng:
| Thành phần | Vai trò trong cuộc tấn công | Tác động |
|---|---|---|
| MathLive | Thư viện toán học | Cung cấp điểm vào thông qua message listener không được kiểm soát. |
| postMessage | Giao diện truyền thông | Cho phép gửi chỉ thị từ Preview frame sang trang chính. |
| innerHTML | Phương thức DOM | Cho phép chèn mã HTML độc hại vào ngữ cảnh của trang ChatGPT. |
| srcdoc iframe | Kỹ thuật nhúng | Vượt qua rào cản sandbox để thực thi mã JavaScript trong origin của nạn nhân. |
Phát hiện và khắc phục lỗ hổng
Chính sách bảo mật nội dung (Content Security Policy - CSP) của ChatGPT đã chặn các tập lệnh nội tuyến (inline scripts) nhưng lại cho phép các tập lệnh từ YouTube. Nhóm nghiên cứu đã phát hiện ra rằng điểm cuối oEmbed của YouTube trả về một callback JSONP do kẻ tấn công cung cấp dưới dạng JavaScript, ngay cả khi báo cáo một callback không hợp lệ. Việc tải phản hồi này là bước cuối cùng để thực thi mã với quyền hạn của chatgpt.com.
Sau khi thực thi, payload sẽ đọc các chi tiết phiên làm việc sẵn có trên giao diện người dùng của ChatGPT và gọi các API hội thoại đã được xác thực. Nó truy xuất một cuộc trò chuyện riêng tư không liên quan đến liên kết được chia sẻ, sau đó gửi một giá trị nhỏ đã chọn đến máy chủ nghiên cứu thông qua yêu cầu hình ảnh. Khác với các lỗ hổng kết nối GitHub trước đây, cuộc tấn công này không phụ thuộc vào hướng dẫn kho lưu trữ hay các công cụ kết nối, mà thực thi trực tiếp từ JavaScript chạy trong trang web tin cậy.
⚠️ Cảnh báo quan trọng: Các nhà phát triển ứng dụng web cần đảm bảo rằng mọi giao diệnpostMessagephải kiểm tra nghiêm ngặtorigincủa người gửi và không bao giờ tin tưởng nội dung HTML được truyền qua các khung (frame) không được bảo vệ.
OpenAI đã phản hồi nhanh chóng sau khi nhận được báo cáo vào ngày 18/10/2026. Đến ngày 26/10/2026, cả hai phiên bản giao diện web bị ảnh hưởng đã được cập nhật để từ chối các thông báo MathLive không hợp lệ. Trường hợp này nhấn mạnh tầm quan trọng của việc xác thực nguồn gốc trong các kiến trúc đa khung (cross-frame) và yêu cầu các nội dung HTML không tin cậy phải luôn được đặt trong môi trường sandbox trong suốt quá trình hiển thị.
Mạng Lưới An Ninh Mạng & Cộng Đồng
Nhận cảnh báo 0-Day khẩn cấp, phân tích mã độc và tham gia thảo luận kỹ thuật cùng chuyên gia.
Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.



