Trong Telegram dành cho Android, một lỗi đã được tìm thấy trong mã cuộc gọi, mà theo startup NebuSec, có thể cho phép thực thi mã trên điện thoại của người nhận cuộc gọi. Lỗi này đã được khắc phục trong phiên bản 12.10.4 phát hành vào ngày 24 tháng 9. Điều này ảnh hưởng đến những người dùng Telegram dành cho Android có phiên bản cũ hơn: để tấn công, chỉ cần người nhận bắt máy. Telegram đã biết về lỗi này từ tháng 8, nhưng không đồng ý rằng nó có thể dẫn đến việc thực thi mã.

Cần làm gì

Cập nhật Telegram dành cho Android lên phiên bản 12.10.4 hoặc mới hơn; phiên bản mới nhất trong mã nguồn của ứng dụng là 13.1.1, phát hành vào ngày 25 tháng 10. Số phiên bản của bạn có thể được nhìn thấy ở cuối màn hình "Cài đặt". Nếu chưa thể cập nhật, bạn có thể giới hạn cuộc gọi trong "Cài đặt → Quyền riêng tư và Bảo mật → Cuộc gọi" thành "Danh bạ của tôi" hoặc "Không ai", và không nhận cuộc gọi từ người lạ.

Theo NebuSec, không có bằng chứng nào cho thấy lỗi này ảnh hưởng đến iOS, phiên bản máy tính để bàn hoặc cuộc gọi nhóm; họ đã kiểm tra các cuộc gọi cá nhân trên điện thoại sử dụng bộ xử lý ARM64.

Lỗi nằm ở đâu

Trong khi gọi, các ứng dụng khách trao đổi tin nhắn tín hiệu về trạng thái của chúng: liệu micrô và camera có được bật không, video được xoay như thế nào. Thư viện cuộc gọi tgcalls, dùng chung cho các ứng dụng khách Telegram, chịu trách nhiệm phân tích cú pháp các tin nhắn này. Trong chức năng phân tích cú pháp tin nhắn này, mã đã kiểm tra xem trường xoay video có tồn tại và là một số hay không — nhưng sau đó lại lấy giá trị từ một trường liền kề, trường trạng thái video. Nếu người gọi gửi thông tin xoay mà không có trạng thái video, ứng dụng khách sẽ truy cập vào một phần tử từ điển không tồn tại và đọc giá trị của nó — một hành vi mà ngôn ngữ C++ không xác định: chương trình có thể gặp sự cố hoặc lấy bất kỳ thứ gì từ bộ nhớ.

Bản sửa lỗi — bốn dòng trong hai phiên bản giao thức, trong đó một tên trường được thay thế bằng một tên khác. Trong thư viện chung tgcalls, nó xuất hiện vào ngày 21 tháng 4 với tiêu đề "Fix camera rotation", còn trong Telegram dành cho Android thì chỉ có trong phiên bản 12.10.4 vào ngày 24 tháng 9.

NebuSec tuyên bố gì

Vào ngày 29 tháng 10, NebuSec thông báo rằng lỗ hổng này được tìm thấy bởi sản phẩm NebuSec Code Security của họ, hoạt động trên mô hình GPT-5.4 — mà họ tự gọi là một "dinosaur". Theo dữ liệu của họ được SQ Magazine và kod.ru kể lại, các phiên bản từ 8.6.2 đến 12.10.3, tức là được phát hành từ tháng 3 năm 2022 đến tháng 9 năm 2026, đều dễ bị tấn công; kẻ tấn công chỉ cần một tài khoản thông thường và một cuộc gọi được chấp nhận.

Bằng chứng thực thi mã của NebuSec là một video; không có phân tích kỹ thuật hay số CVE, và chuỗi tấn công chưa được kiểm tra độc lập bởi bất kỳ ai.

Telegram đã trả lời gì

Đại diện Telegram thông báo với SQ Magazine rằng công ty đã được báo cáo về lỗi này từ tháng 8 và bản sửa lỗi đã được phát hành trước khi báo cáo của NebuSec đến. Theo ông, không có chuỗi tấn công hoạt động nào trong cả hai báo cáo có thể dẫn đến việc thực thi mã. kod.ru cũng trích dẫn câu trả lời tương tự.