Bảo mật & quyền riêng tư

Liên kết ChatGPT chia sẻ có thể chiếm quyền tài khoản người dùng qua lỗ hổng thoát sandbox

Các nhà nghiên cứu đã phát hiện một chuỗi lỗ hổng trong tính năng HTML Preview và tích hợp MathLive của ChatGPT, cho phép kẻ tấn công thực thi mã trên phiên đăng nhập của nạn nhân thông qua các liên kết chia sẻ công khai.

Minh họa về việc phá vỡ sandbox với mã rò rỉ qua rào chắn bị hỏng
Minh họa được tạo riêng cho bài viết này

Được dịch tự động từ bản gốc tiếng Anh.

Vào tháng 10 năm 2026, các nhà nghiên cứu bảo mật đã phát hiện một lỗ hổng nghiêm trọng trong ChatGPT, cho phép chiếm quyền kiểm soát tài khoản chỉ bằng một liên kết chia sẻ đơn giản. Bằng cách khai thác lỗi trong cách nền tảng xử lý biểu đồ tương tác và bản xem trước HTML, kẻ tấn công có thể chèn mã JavaScript độc hại vào phiên đăng nhập đã xác thực của nạn nhân. OpenAI xếp loại vấn đề này ở mức độ nghiêm trọng P1 và đã triển khai bản vá vào ngày 26 tháng 10 năm 2026.

Chuyện gì đã xảy ra

Lỗ hổng này cho phép kẻ tấn công tạo ra một cuộc hội thoại độc hại và công khai nó bằng tính năng chia sẻ tiêu chuẩn của ChatGPT. Khi nạn nhân mở liên kết công khai này, payload (mã độc) sẽ được thực thi ngay trong phiên đăng nhập của họ trên chatgpt.com. Bối cảnh thực thi này cấp cho kẻ tấn công toàn quyền truy cập vào tài khoản của nạn nhân, cho phép liệt kê các cuộc trò chuyện riêng tư, lấy nội dung tin nhắn chưa chia sẻ và đánh cắp dữ liệu sang các máy chủ bên ngoài.

Điều quan trọng là cuộc tấn công không đòi hỏi bất kỳ hành động nào từ phía nạn nhân ngoài việc nhấp vào liên kết. Họ không cần cài đặt ứng dụng, tham gia dự án cụ thể hay mở công cụ dành cho nhà phát triển. Trong một số biến thể của kỹ thuật khai thác, mã độc tự động thực thi khi trang tải xong, trong khi những trường hợp khác chỉ yêu cầu một cú nhấp chuột vào nút "Preview" (Xem trước). Các nhà nghiên cứu xác nhận rằng mã được chèn có thể gọi trực tiếp các API đã xác thực của ChatGPT, về cơ bản thực hiện mọi hành động mà nạn nhân có thể làm.

Chuỗi khai thác dựa vào hai tính năng tưởng chừng vô hại: một biểu đồ tương tác và chức năng HTML Preview. Biểu đồ tải một thư viện toán học tên là MathLive, thư viện này cài đặt một trình nghe tin nhắn (message listener) trên trang chính. Chức năng HTML Preview, chạy trong một sandbox bị hạn chế, gửi các tin nhắn được thiết kế đặc biệt đến trình nghe này. Do trình nghe thiếu các kiểm tra nguồn gốc (origin checks) phù hợp, nó chấp nhận các chỉ dẫn từ khung xem trước không đáng tin cậy, dẫn đến vi phạm ranh giới sandbox.

Cơ chế hoạt động

Cốt lõi của kỹ thuật khai thác liên quan đến việc vượt qua chính sách cùng nguồn gốc (same-origin policy) của trình duyệt bằng cách sử dụng API postMessage. Mặc dù HTML Preview chạy trên một miền riêng biệt để cô lập nó khỏi giao diện chính của ChatGPT, nó vẫn có thể gửi tin nhắn đến cửa sổ cha (parent window). MathLive, được dùng để hiển thị các biểu thức toán học, lắng nghe những tin nhắn này để cập nhật bố cục bàn phím ảo. Tuy nhiên, nó không xác minh nguồn gốc của các tin nhắn, cho phép khung xem trước gửi các lệnh tùy ý.

Kẻ tấn công gửi một tin nhắn hướng dẫn MathLive cập nhật bố cục bàn phím với HTML tùy chỉnh. MathLive chèn HTML này vào trang chính bằng cách sử dụng innerHTML. Mặc dù các thẻ script được chèn theo cách này không thực thi ngay lập tức, kẻ tấn công đã bao gồm một iframe với thuộc tính srcdoc. Điều này tạo ra một tài liệu mới trong trang chính, kế thừa nguồn gốc chatgpt.com. Vì khung mới này không bị sandbox hóa, nó có thể truy cập vào DOM và cookie của trang cha.

Để thực thi JavaScript bất chấp Chính sách An toàn Nội dung (Content Security Policy - CSP) của ChatGPT, kẻ tấn công đã lợi dụng endpoint oEmbed của YouTube. CSP cho phép các script từ YouTube, và endpoint oEmbed hỗ trợ các callback JSONP. Bằng cách thiết kế tham số callback cụ thể, kẻ tấn công đã lừa YouTube trả về một phản hồi JavaScript thực thi mã của họ. Bước cuối cùng này mang lại cho họ khả năng thực thi mã tùy ý trong phiên đăng nhập đã xác thực của nạn nhân.

Chi tiết chính

  • Loại lỗ hổng: Cross-site scripting (XSS) thông qua thoát sandbox và xử lý postMessage không an toàn.
  • Thành phần bị ảnh hưởng: Frontend web của ChatGPT, cụ thể là tương tác giữa HTML Preview, MathLive và trang chính.
  • Vector tấn công: Một liên kết hội thoại ChatGPT được chia sẻ công khai chứa biểu đồ độc hại và bản xem trước HTML.
  • Tác động: Chiếm quyền kiểm soát tài khoản hoàn toàn, bao gồm đọc các cuộc trò chuyện riêng tư và thực hiện các lệnh gọi API dưới danh nghĩa nạn nhân.
  • Hành động yêu cầu từ người dùng: Không bắt buộc trong một số trường hợp; nếu không, chỉ cần một cú nhấp chuột vào nút "Preview".
  • Giải pháp: OpenAI đã khắc phục sự cố vào ngày 26 tháng 10 năm 2026 bằng cách từ chối các tin nhắn MathLive xuyên khung (cross-frame) và cập nhật các quy tắc CSP.

Tại sao điều này quan trọng

Sự cố này làm nổi bật rủi ro từ các tương tác phức tạp giữa các tính năng trong các ứng dụng web hiện đại. Các thành phần riêng lẻ như sandbox, CSP và trình nghe tin nhắn có thể an toàn khi đứng độc lập, nhưng sự kết hợp của chúng có thể tạo ra các lỗ hổng không lường trước được. Đối với các nhà phát triển xây dựng giao diện AI, điều này nhấn mạnh tầm quan trọng của việc kiểm tra nguồn gốc chặt chẽ cho các trình nghe postMessage và tránh chèn HTML thô từ các nguồn không đáng tin cậy.

Đối với người dùng, đây là lời nhắc nhở rằng các liên kết chia sẻ từ nền tảng AI có thể mang theo mối đe dọa hoạt động. Khác với các cuộc tấn công phishing truyền thống dựa vào sự lừa dối, kỹ thuật khai thác này lợi dụng các tính năng hợp lệ của nền tảng để phân phối malware. Các tổ chức nên cân nhắc hạn chế quyền truy cập vào các nội dung chia sẻ công khai hoặc áp dụng thêm các bước xác minh đối với nội dung bên ngoài cho đến khi các lỗ hổng như vậy được giảm thiểu hoàn toàn.

Bạn có thể làm gì

  • Xác minh người gửi trước khi mở các liên kết ChatGPT được chia sẻ, đặc biệt là từ các nguồn không rõ ràng.
  • Theo dõi hoạt động tài khoản của bạn để tìm kiếm các lệnh gọi API bất thường hoặc nhật ký truy cập cuộc trò chuyện.
  • Nếu bạn là nhà phát triển, hãy đảm bảo tất cả các trình nghe postMessage xác thực event.origin và event.source.
  • Tránh sử dụng innerHTML để chèn nội dung từ các khung không đáng tin cậy; thay vào đó hãy sử dụng văn bản thuần túy hoặc HTML đã được làm sạch (sanitized).
  • Triển khai các chính sách CSP nghiêm ngặt cấm script nội tuyến và giới hạn các miền đáng tin cậy chỉ ở những dịch vụ thiết yếu.
  • Cập nhật trình duyệt và các tiện ích mở rộng bảo mật của bạn lên phiên bản mới nhất để hưởng lợi từ các biện pháp bảo vệ tiên tiến nhất.
  • #security
  • #chatgpt
  • #web-vulnerabilities
  • #xss
  • #openai

Công cụ từ cửa hàng Bytechap

Đọc tiếp

Tất cả bài viết