Báo cáo phân tích lỗ hổng vừa được nhóm nghiên cứu bảo mật ExPatch công bố trên The Hacker News đã phơi bày một sai sót nghiêm trọng trong cơ chế làm sạch dữ liệu đầu vào của ứng dụng Telegram Desktop trên các nền tảng Windows, macOS và Linux. Lỗ hổng được định danh mức độ nghiêm trọng cao với điểm số CVSS 3.1 đạt 8.2/10, cho phép kẻ tấn công chèn mã thực thi JavaScript tùy ý vào tệp xuất định dạng HTML mà không hề bị hệ thống lọc hay mã hóa thực thể (HTML Escaping), biến các tệp sao lưu ngoại tuyến thành công cụ đánh cắp dữ liệu hàng loạt.
Cơ chế chèn mã XSS qua nhãn nút bấm Inline Keyboard không được khử ký tự
Tính năng trích xuất dữ liệu cuộc trò chuyện (Export Chat History) của Telegram Desktop cho phép người dùng lưu trữ tin nhắn đơn lẻ hoặc toàn bộ tài khoản dưới dạng trang web tĩnh HTML để thuận tiện tra cứu ngoại tuyến.
Hai nhà nghiên cứu Denis Rostilov và Aleksander Rostilov phát hiện rằng trong khi văn bản tin nhắn, tên người gửi và các trường siêu dữ liệu khác đều được áp dụng cơ chế khử ký tự đặc biệt (chuyển đổi các ký tự nguy hiểm như dấu ngoặc nhọn thành thực thể an toàn), thì phần nhãn hiển thị của các nút bấm nội dòng (inline keyboard) do bot tạo ra lại bị bỏ sót hoàn toàn. Đoạn mã xử lý xuất dữ liệu đã ghi thẳng chuỗi ký tự do bot chỉ định vào cấu trúc HTML của trang. Tin tặc lợi dụng điều này để lồng ghép thẻ script chứa mã độc điều khiển từ xa, kết hợp chèn các ký tự khoảng trắng vô hình khiến nút bấm trong ứng dụng Telegram Desktop trông hoàn toàn bình thường và không hề gây nghi ngờ.

Rủi ro tiềm ẩn từ các kho lưu trữ ngoại tuyến và bài toán ứng xử công bố bảo mật
Khi tệp HTML chứa tin nhắn độc hại được mở trong trình duyệt có kích hoạt JavaScript, đoạn mã sẽ tự động thực thi ngay lập tức trong ngữ cảnh cục bộ mà không đòi hỏi bất kỳ tương tác nhấp chuột nào từ phía người dùng.
Script có thể đọc toàn bộ cây DOM của tệp, trích xuất danh sách 1.000 tin nhắn kèm mốc thời gian, danh tính người gửi, đường dẫn tệp nội bộ trên ổ đĩa và gửi toàn bộ dữ liệu qua giao thức HTTP POST về máy chủ của kẻ tấn công. Mặc dù nhà phát triển John Preston của Telegram Desktop đã âm thầm đưa bản vá vào commit 8457d13a (áp dụng từ bản 6.9.4 beta và chính thức từ bản 7.0.1), Telegram lại không phát hành cảnh báo an ninh công khai hay đăng ký mã định danh CVE. Điều này tạo ra lỗ hổng quản trị cực lớn cho các tổ chức doanh nghiệp, bởi lẽ bản cập nhật phần mềm không thể tự sửa chữa các tệp sao lưu HTML đã được xuất ra trước đó trên máy trạm của người dùng.



















