Lỗ hổng

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.

RSS Source
RSS SourceAI Rewrite
~1 phút đọc•376 lượt xem
Critical ChatGPT Flaw Allowed Attackers to Hijack Accounts and Steal Private Conversations With One Link
  • 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 postMessage củ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.

Hình ảnh minh họa bước 1
Hình 1: Sơ đồ minh họa quá trình kẻ tấn công lợi dụng giao diện postMessage để tiêm mã độc vào trang ChatGPT thông qua thư viện MathLive.

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ầnVai trò trong cuộc tấn côngTác động
MathLiveThư viện toán họcCung cấp điểm vào thông qua message listener không được kiểm soát.
postMessageGiao diện truyền thôngCho phép gửi chỉ thị từ Preview frame sang trang chính.
innerHTMLPhương thức DOMCho phép chèn mã HTML độc hại vào ngữ cảnh của trang ChatGPT.
srcdoc iframeKỹ thuật nhúngVượ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ện postMessage phải kiểm tra nghiêm ngặt origin củ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ị.

Tổng hợp, và phân tích kỹ thuật từ:Cyber Security News
Xem bài gốc

Mạng Lưới An Ninh Mạng & Cộng Đồng

24/7 Alerts

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.

RSS Source

Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.

Bài Viết Liên Quan

Cùng chuyên mục & chủ đề