Trang chủ Bài viết Bảo mật Lỗ hổng link chia sẻ ChatGPT có thể chạy mã độc trong phiên đăng nhập và đọc hội thoại riêng tư
Bảo mật 31/10/2026 24 lượt xem

Lỗ hổng link chia sẻ ChatGPT có thể chạy mã độc trong phiên đăng nhập và đọc hội thoại riêng tư

Lỗ hổng link chia sẻ ChatGPT có thể chạy mã độc trong phiên đăng nhập và đọc hội thoại riêng tư

Các nhà nghiên cứu của hãng bảo mật Parameter đã phát hiện một lỗ hổng trong ChatGPT: một link chia sẻ hội thoại độc hại có thể chạy mã của kẻ tấn công ngay trong phiên đăng nhập của người mở link, từ đó đọc các cuộc trò chuyện riêng tư. Nhóm báo cáo qua chương trình bug bounty của OpenAI vào ngày 18/10; OpenAI đã khắc phục 8 ngày sau đó và xếp mức độ nghiêm trọng P1, mức cao nhất.

Cách thức tấn công

Cái bẫy chỉ là một hội thoại ChatGPT bình thường được chia sẻ qua link công khai, có thể gửi qua email, tin nhắn, phiếu hỗ trợ hay bài đăng mạng xã hội giống như bất kỳ link chia sẻ thật nào. Nạn nhân không cần cài đặt gì, không cần tham gia workspace hay đăng nhập qua kẻ tấn công. Ở phiên bản đáng tin cậy nhất, họ chỉ cần mở link và bấm nút Preview của ChatGPT một lần. Ở phiên bản sau, Parameter cài để trang tự mở Preview, nên chỉ cần mở link là đủ.

Kẻ tấn công làm được gì

Khi link mở ra, mã của kẻ tấn công chạy bên trong phiên đăng nhập của nạn nhân với quyền truy cập ngang với trang ChatGPT thật. Nó liệt kê các hội thoại gần đây, mở một cuộc trò chuyện riêng chưa từng được chia sẻ với kẻ tấn công và gửi một phần nhỏ nội dung đó tới máy chủ do nhóm nghiên cứu kiểm soát. Mã gọi trực tiếp các API đã đăng nhập của ChatGPT thay vì sao chép những gì hiển thị trên màn hình. Vì chạy với toàn quyền web của nạn nhân, phạm vi ảnh hưởng không giới hạn ở các hội thoại đó: theo nhóm nghiên cứu, về cơ bản họ có thể thực hiện bất kỳ hành động nào thay cho tài khoản ChatGPT của nạn nhân. Đây là thử nghiệm có kiểm soát; Parameter không ghi nhận trường hợp lỗ hổng bị lợi dụng ngoài thực tế và chạy thử nghiệm đọc chat riêng giữa các tài khoản tách biệt, không nhắm vào người dùng thật.

Chuỗi lỗi vượt qua sandbox

Theo Parameter, ChatGPT có thể biến một khối HTML trong chat thành trang web nhỏ qua tính năng Preview. Vì trang này chứa được mã tùy ý, ChatGPT chạy nó trong một khung bị khóa trên địa chỉ web riêng, nơi nó không đọc được trang ChatGPT chính xung quanh. Sandbox đó vẫn giữ được. Đường vào đến từ một tính năng thứ hai trong cùng hội thoại: hội thoại chia sẻ còn chứa một biểu đồ tương tác, và việc vẽ biểu đồ tải thư viện toán học MathLive vào trang ChatGPT chính. Việc tải MathLive để lại một listener đang chạy ở đó, chấp nhận các thông điệp về bàn phím ảo của nó.

Thông điệp truyền giữa các khung trình duyệt chỉ an toàn nếu bên nhận kiểm tra người gửi. Parameter phát hiện listener này chấp nhận thông điệp bàn phím từ bất kỳ người gửi nào và cho phép thông điệp mang HTML thô. Preview sau đó có thể vượt ranh giới, đưa HTML của kẻ tấn công vào trang chính đáng tin cậy. HTML đó dựng một khung mới mà trình duyệt coi là thuộc chatgpt.com, rồi một script tải từ YouTube cung cấp mã chạy bên trong. Chính sách bảo mật nội dung của ChatGPT giới hạn nguồn script của trang: nó chặn mã inline nhưng cho phép script từ YouTube, nên bước này thành công.

OpenAI đã sửa gì

Parameter cho biết OpenAI đã tái hiện cả việc chạy mã lẫn bằng chứng đọc chat riêng, nâng mức nghiêm trọng từ P2 lên P1 và triển khai bản vá trên hai phiên bản giao diện web ChatGPT. Đến ngày 26/10, cả hai phiên bản đều từ chối các thông điệp mà cuộc tấn công dựa vào. Nhóm nghiên cứu truy nguyên vấn đề về ba lựa chọn thiết kế trùng khớp:

  • MathLive xử lý một thông điệp thay đổi cấu hình mà không kiểm tra khung nào đã gửi nó.
  • Thông điệp đó được phép mang HTML thô làm dữ liệu bố cục bàn phím.
  • HTML có thể tạo một khung không bị sandbox và thừa hưởng danh tính chatgpt.com.

Bước YouTube chỉ là cách vòng cuối cùng, không phải nguyên nhân gốc. Chỉ chặn nó vẫn để Preview không đáng tin có thể đẩy HTML vào trang chính.

Người dùng ChatGPT không cần làm gì: bản vá nằm phía OpenAI, không phải cài đặt hay đặt lại gì. Parameter công bố bài viết chi tiết ngày 28/10, sau khi lỗi được sửa. OpenAI trả tổng cộng 5.000 USD cho báo cáo.

Nguồn: The Hacker News

Trích nguồn từ: The Hacker News

Chia sẻ:

Bài viết liên quan

Zalo