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

Liên kết chia sẻ ChatGPT cho phép thực thi mã trong phiên người dùng

Các nhà nghiên cứu đã phát hiện một lỗ hổng trong liên kết chia sẻ của ChatGPT, cho phép kẻ tấn công chạy mã và đọc các cuộc trò chuyện riêng tư. OpenAI đã khắc phục lỗi này trong vòng tám ngày.

Hình minh họa về vi phạm bảo mật trong giao diện chat
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.

Các nhà nghiên cứu bảo mật tại Parameter đã phát hiện một lỗ hổng nghiêm trọng trong ChatGPT, cho phép mã độc thực thi trong phiên đăng nhập của nạn nhân thông qua liên kết chia sẻ cuộc hội thoại. Lỗi này, được báo cáo vào ngày 18 tháng 10 năm 2026, đã tạo điều kiện cho kẻ tấn công truy cập các cuộc trò chuyện riêng tư và thực hiện hành động thay mặt người dùng. OpenAI xếp hạng 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.

Chuyện gì đã xảy ra

Phương thức tấn công dựa trên tính năng tiêu chuẩn của ChatGPT cho phép người dùng chia sẻ cuộc hội thoại qua liên kết công khai. Kẻ tấn công có thể soạn thảo một cuộc hội thoại cụ thể chứa các thành phần độc hại và chia sẻ nó qua email, mạng xã hội hoặc các ticket hỗ trợ. Khi nạn nhân mở liên kết này, họ không cần cài đặt phần mềm hay đăng nhập lại; cuộc khai thác nhắm vào phiên xác thực hiện có của họ. Trong bản chứng minh khái niệm (proof of concept) ban đầu, nạn nhân cần nhấp vào nút Preview (Xem trước) một lần. Một phiên bản tinh chỉnh hơn đã tự động hóa bước này, chỉ yêu cầu nạn nhân mở liên kết.

Sau khi được kích hoạt, mã của kẻ tấn công chạy với quyền hạn tương đương giao diện ChatGPT hợp pháp. Điều này cho phép script độc hại gọi trực tiếp các API đã đăng nhập, liệt kê các cuộc hội thoại gần đây và mở những cuộc trò chuyện riêng tư chưa từng được chia sẻ. Các nhà nghiên cứu đã chứng minh rằng họ có thể đánh cắp một phần các cuộc thảo luận riêng tư này sang một máy chủ bên ngoài. Vì mã hoạt động trong ngữ cảnh truy cập web đầy đủ của nạn nhân, khả năng của nó vượt ra ngoài việc chỉ đọc lịch sử chat mà còn thực hiện bất kỳ hành động nào mà chủ tài khoản có thể làm.

Parameter đã tiến hành công việc này như một bài kiểm soát giữa các tài khoản riêng biệt và không tìm thấy bằng chứng về việc khai thác trong thế giới thực. Họ đã gửi các phát hiện của mình thông qua chương trình bug bounty của OpenAI. Ban đầu, OpenAI đánh giá mức độ nghiêm trọng là P2 nhưng đã nâng lên P1 sau khi tái hiện được cuộc khai thác. Công ty đã trả tổng cộng $5.000 cho báo cáo này và triển khai các bản sửa lỗi trên hai phiên bản frontend web của mình.

Cách thức hoạt động

Lỗ hổng xuất phát từ sự tương tác giữa ba tính năng riêng biệt: sandbox Preview, thư viện MathLive và tin nhắn liên khung (cross-frame messaging). ChatGPT sử dụng một khung sandbox trên một tên miền riêng biệt để hiển thị các bản xem trước HTML, ngăn chúng truy cập trạng thái ứng dụng chính. Sự cô lập này đứng vững khi xét riêng lẻ. Tuy nhiên, cuộc trò chuyện được chia sẻ cũng bao gồm một biểu đồ tương tác tải MathLive, một thư viện toán học, vào trang chính.

MathLive bao gồm một listener (bộ lắng nghe) cho các tin nhắn liên quan đến bàn phím ảo trên màn hình. Parameter phát hiện rằng listener này chấp nhận tin nhắn từ bất kỳ người gửi nào mà không xác minh nguồn gốc. Quan trọng hơn, các tin nhắn này được phép mang dữ liệu HTML thô dành cho việc tùy chỉnh bố cục bàn phím. Khung Preview độc hại đã khai thác điểm này bằng cách gửi một tin nhắn được chế tạo chứa HTML do kẻ tấn công kiểm soát tới listener MathLive trên trang chính.

HTML này tạo ra một khung mới mà trình duyệt coi là một phần của tên miền chatgpt.com đáng tin cậy, bỏ qua sandbox. Để thực thi payload cuối cùng, kẻ tấn công đã tận dụng các script YouTube, vốn được đưa vào danh sách trắng (whitelisted) trong chính sách bảo mật nội dung (CSP) của ChatGPT. Mặc dù mã inline bị chặn, các script từ những tên miền được phép như YouTube vẫn có thể chạy trong khung đáng tin cậy mới được tạo này, trao cho kẻ tấn công toàn quyền kiểm soát phiên.

Chi tiết chính

  • Lỗ hổng được báo cáo vào ngày 18 tháng 10 năm 2026 và được khắc phục vào ngày 26 tháng 10 năm 2026.
  • OpenAI xếp hạng vấn đề này là P1, mức độ nghiêm trọng cao nhất, sau khi ban đầu phân loại là P2.
  • Cuộc tấn công không yêu cầu người dùng cài đặt hay thực hiện thêm bước đăng nhập nào ngoài việc mở liên kết chia sẻ.
  • Việc khai thác dựa trên việc MathLive chấp nhận các tin nhắn liên khung chưa được xác minh chứa HTML thô.
  • Kẻ tấn công đã sử dụng các script YouTube được đưa vào danh sách trắng để vượt qua chính sách bảo mật nội dung và thực thi mã.
  • Parameter nhận được khoản tiền thưởng $5.000 cho việc tiết lộ có trách nhiệm về lỗ hổng.

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

Sự cố này nhấn mạnh những rủi ro tiềm ẩn trong các ứng dụng web phức tạp tích hợp thư viện của bên thứ ba và hiển thị nội dung động. Đối với các kỹ sư xây dựng giao diện AI, nó khẳng định tầm quan trọng của việc xác thực nghiêm ngặt đối với giao tiếp liên khung. Ngay cả khi các sandbox được triển khai đúng cách, lỗ hổng vẫn có thể phát sinh từ cách các thành phần khác nhau tương tác với nhau. Sự phụ thuộc vào các thư viện bên ngoài như MathLive gây ra rủi ro chuỗi cung ứng, cần được quản lý thông qua việc xác thực đầu vào và kiểm tra nguồn gốc nghiêm ngặt.

Đối với các nhóm sản phẩm, tốc độ phản hồi của OpenAI chứng minh giá trị của các chương trình bug bounty mạnh mẽ và quy trình ứng phó sự cố rõ ràng. Khả năng phát hiện, tái hiện và vá một lỗ hổng P1 trong vòng tám ngày giúp giảm thiểu thiệt hại tiềm tàng. Tuy nhiên, việc lỗ hổng cho phép chiếm quyền kiểm soát toàn bộ tài khoản là lời nhắc nhở rằng các tính năng chia sẻ phải được thiết kế theo nguyên tắc đặc quyền tối thiểu (least-privilege), đảm bảo rằng các chế độ xem trước không thể leo thang đặc quyền lên ngữ cảnh ứng dụng chính.

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

  • Xác minh rằng tất cả các listener tin nhắn liên khung đều xác thực nguồn gốc của tin nhắn đến.
  • Tránh cho phép chèn HTML thô thông qua payload tin nhắn, ngay cả đối với dữ liệu cấu hình.
  • Xem xét các chính sách bảo mật nội dung để đảm bảo chỉ những tên miền cần thiết được đưa vào danh sách trắng cho các script.
  • Triển khai sandboxing nghiêm ngặt cho tất cả các bản xem trước nội dung do người dùng tạo và các thành phần tương tác.
  • Thực hiện kiểm toán bảo mật định kỳ tập trung vào các tương tác giữa thư viện của bên thứ ba và logic ứng dụng cốt lõi.
  • Khuyến khích tiết lộ có trách nhiệm bằng cách duy trì một chương trình bug bounty dễ tiếp cận cho các sản phẩm của bạn.
  • #web security
  • #chatgpt
  • #vulnerability
  • #ai safety
  • #bug bounty

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

Đọc tiếp

Tất cả bài viết