Link chia sẻ ChatGPT từng có thể lộ hội thoại riêng tư

Link chia sẻ ChatGPT từng có thể lộ hội thoại riêng tư

Nhóm bảo mật Parameter vừa công bố một chuỗi tấn công nhằm vào ChatGPT đã được khắc phục: kẻ tấn công gửi một link chia sẻ hội thoại bình thường, nạn nhân mở nó trong lúc đang đăng nhập, và JavaScript của kẻ tấn công sẽ chạy ngay trong phiên chatgpt.com. Các nhà nghiên cứu đã thử nghiệm thực tế, liệt kê được các cuộc hội thoại gần đây của nạn nhân, đọc được một đoạn hội thoại riêng tư chưa từng được chia sẻ, và gửi một lượng nhỏ dữ liệu tới máy chủ bên ngoài.

Toàn bộ quá trình không cần cài ứng dụng, không cần kết nối plugin bên thứ ba, cũng không cần mở công cụ dành cho nhà phát triển. OpenAI xác nhận đã vá vào ngày 26/10 và xếp lỗ hổng ở mức P1.

Hai tính năng vốn được cách ly tốt, bị nối với nhau bằng một bàn phím

Bản xem trước HTML của ChatGPT chạy trong một miền cách ly riêng, theo thiết kế thì không thể chạm tới trang chính. Rắc rối nằm ở đồ họa tương tác trong hội thoại: nó nạp thư viện nhập công thức toán MathLive, và thư viện này cài vào trang chính một trình lắng nghe nhận thông điệp của bàn phím ảo.

Báo cáo của Parameter chia khiếm khuyết thành nhiều lớp:

  • Trình lắng nghe không kiểm tra thông điệp đến từ đâu, nên bản xem trước trong miền cách ly cũng gửi được thông điệp cho nó
  • Thông điệp có thể thay đổi bố cục bàn phím, mà bố cục lại cho phép chứa HTML và cuối cùng được ghi vào trang chính
  • Hàm làm nhiệm vụ “làm sạch” thực chất chỉ đánh dấu chuỗi là đáng tin cậy
  • Iframe mới chèn vào không có thuộc tính sandbox, nên kế thừa danh tính của chatgpt.com
  • Chính sách bảo mật nội dung cho phép script của YouTube, và các nhà nghiên cứu đã lợi dụng một giao diện callback của nó để vượt qua

Ở phiên bản đầu, nạn nhân còn phải kết nối ứng dụng ChatGPT của nhà nghiên cứu. Sau đó họ nhét đồ họa và bản xem trước độc hại vào cùng một hội thoại công khai, nên chỉ cần tính năng chia sẻ là đủ để phát tán. Báo cáo cũng công bố một phần chi tiết yêu cầu; chúng tôi không thuật lại ở đây.

Về hiệu quả tấn công, báo cáo đã thử nghiệm thực tế việc đọc hội thoại và gửi dữ liệu ra ngoài. Khả năng “thực hiện mọi thao tác thay nạn nhân” là suy luận của các nhà nghiên cứu từ giao diện xác thực phía front-end, chứ không được trình diễn từng mục.

Tám ngày từ báo cáo đến bản vá

Báo cáo ghi rất chi tiết. Ngày 13/10, nhóm xác nhận đường đi qua MathLive; ngày 16/10, họ tái hiện được trên nhiều tài khoản và nhiều không gian làm việc; ngày 18/10, họ nộp lên chương trình bug bounty của OpenAI. OpenAI tái hiện lỗi vào ngày 21/10 và nâng mức độ từ P2 lên P1, ngày 22/10 thông báo một front-end đã được vá còn front-end kia vẫn đang cập nhật, và ngày 23/10 điều chỉnh chính sách bảo mật nội dung trước để chặn một phần chuỗi tấn công.

Phiên bản web của ChatGPT chạy song song hai front-end, nên việc sửa lỗi cũng chia làm hai bước.

Chiếm quyền tài khoản không phải lần đầu

Chia sẻ, plugin, bộ nhớ đệm: các lỗ hổng chiếm quyền tài khoản ChatGPT trước đây phần lớn nằm ở rìa của quy trình chính. Năm 2023, nhà nghiên cứu Nagli dùng kỹ thuật web cache deception để lấy được access token, cũng chỉ cần nạn nhân bấm một link; năm 2024, Salt Labs từng công bố vấn đề chuyển hướng trong quy trình ủy quyền plugin. Lần này, lối vào đổi thành một thư viện bên thứ ba dùng để hiển thị nội dung.

Bản thân MathLive cũng không phải lần đầu gặp sự cố: Cơ sở dữ liệu lỗ hổng quốc gia Hoa Kỳ từng ghi nhận lỗ hổng cross-site scripting CVE-2025-29049 của thư viện này, ảnh hưởng tới phiên bản 0.103.0 trở về trước. Bản ghi đó không nhắc đến thông điệp bàn phím ảo, nên không thấy mối liên hệ trực tiếp giữa hai lỗi.

Hiện tại người dùng bình thường không cần làm gì. Báo cáo không nói chuỗi này đã bị khai thác thực tế hay chưa, OpenAI cũng không đưa ra thông báo riêng về việc này, và chúng tôi không thể xác minh có nạn nhân hay không. Có một thói quen đáng giữ: link chia sẻ ChatGPT do người lạ gửi nên được đối xử như mọi đường link web khác.

Lời khuyên cuối báo cáo dành cho nhà phát triển khá giản dị: với thông điệp giữa các cửa sổ, hãy kiểm tra đồng thời nguồn gốc và cửa sổ gửi; không để mục cấu hình mang HTML thô; và chỉ xem chính sách bảo mật nội dung là tuyến phòng thủ dự phòng.

Nguồn tham khảo: CocoLoop, báo cáo nghiên cứu bảo mật của Parameter, Cơ sở dữ liệu lỗ hổng quốc gia Hoa Kỳ; tiến độ vá và tiền thưởng theo thông tin do nhóm nghiên cứu công bố, OpenAI chưa có thông báo riêng.