Lỗ hổng

Lỗ hổng RCE nghiêm trọng trong TightVNC Viewer: Phân tích kỹ thuật và cách khắc phục

Các nhà nghiên cứu bảo mật đã công bố lỗ hổng RCE nghiêm trọng trong TightVNC Viewer, cho phép kẻ tấn công thực thi mã từ xa trước khi xác thực. Tìm hiểu chi tiết về cơ chế khai thác và biện pháp phòng ngừa.

RSS Source
RSS SourceAI Rewrite
~1 phút đọc•144 lượt xem
TightVNC Pre-Auth RCE Vulnerability Lets Hackers Execute Code on Windows PCs, PoC Released
  • Lỗ hổng nghiêm trọng: TightVNC Viewer tồn tại lỗi tràn bộ nhớ (memory corruption) dẫn đến khả năng thực thi mã từ xa (RCE) trước khi xác thực.
  • Cơ chế tấn công: Kẻ tấn công lợi dụng giao thức RFB để gửi dữ liệu màn hình độc hại, gây ra lỗi tính toán kích thước bộ nhớ (integer overflow).
  • Phạm vi ảnh hưởng: Các phiên bản TightVNC Viewer trước 2.8.89, đặc biệt nguy hiểm khi kích hoạt chế độ Listening Mode.
  • Khuyến nghị: Cập nhật ngay lên phiên bản 2.8.90 và vô hiệu hóa các tính năng không cần thiết như Listening Mode.

Tổng quan về lỗ hổng RCE trong TightVNC Viewer

Một lỗ hổng bảo mật nghiêm trọng vừa được phát hiện trong TightVNC Viewer, cho phép kẻ tấn công thực thi mã tùy ý trên các máy tính Windows mục tiêu ngay cả trước khi người dùng thực hiện xác thực mật khẩu. Nghiên cứu này được thực hiện bởi chuyên gia SeongJoon Cho từ SSD Labs Korea, tập trung vào phiên bản TightVNC 2.8.88 x64.

Lỗ hổng này không nhắm vào máy chủ VNC mà tập trung vào thành phần Viewer. Kẻ tấn công có thể khai thác thông qua việc dụ dỗ người dùng kết nối tới một máy chủ VNC độc hại hoặc nhắm mục tiêu trực tiếp vào các Viewer đang ở chế độ Listening Mode (lắng nghe kết nối trên cổng TCP 5500).

Phân tích kỹ thuật: Cơ chế lỗi bộ nhớ

Gốc rễ của lỗ hổng nằm ở cách TightVNC Viewer xử lý dữ liệu kích thước màn hình được gửi từ máy chủ thông qua giao thức Remote Framebuffer (RFB). Khi máy chủ thông báo kích thước màn hình, Viewer thực hiện tính toán dung lượng bộ nhớ cần thiết để lưu trữ dữ liệu hình ảnh.

Lỗi tràn số nguyên (Integer Overflow)

Quá trình tính toán này chuyển đổi kết quả thành một số nguyên 32-bit. Khi kẻ tấn công gửi các thông số kích thước cực lớn (ví dụ: 32,768 x 32,769 pixel với 32 bit mỗi pixel), giá trị này sẽ bị tràn (wrap around), dẫn đến việc cấp phát một vùng đệm (buffer) nhỏ hơn nhiều so với thực tế cần thiết (chỉ khoảng 128 KB thay vì hơn 4 GB).

# Mô phỏng logic tính toán lỗi trong mã nguồn Viewer: 32,768 * 32,769 * 4 bytes = 4,295,032,832 bytes (tràn 32-bit)

Sau khi cấp phát vùng đệm không đủ, các bản cập nhật màn hình tiếp theo sẽ ghi dữ liệu vượt quá giới hạn vùng đệm (out-of-bounds write), vì con trỏ tính toán thiếu cơ chế kiểm tra tính hợp lệ so với kích thước thực tế đã cấp phát.

Chuỗi tấn công và khai thác (Exploit Chain)

Nhóm nghiên cứu đã phát triển mã khai thác Proof-of-Concept (PoC) để biến lỗi tràn bộ nhớ này thành khả năng thực thi mã từ xa. Quy trình tấn công diễn ra theo các bước sau:

  • Rò rỉ bộ nhớ: Kẻ tấn công thay đổi độ dài của vùng đệm gửi đi để đọc các vùng nhớ lân cận, từ đó thu thập các địa chỉ cần thiết nhằm vượt qua cơ chế bảo vệ ASLR (Address Space Layout Randomization).
  • Điều hướng thực thi: Sử dụng kỹ thuật Return-Oriented Programming (ROP) để tái sử dụng các đoạn mã hiện có trong bộ nhớ, từ đó chuyển hướng luồng thực thi của chương trình.
  • Thực thi mã độc: Gọi hàm CreateProcessW của Windows để khởi chạy tiến trình độc hại trên máy nạn nhân.
Loại thực thểGiá trị / Chỉ sốMô tả tác động
Phần mềmTightVNC ViewerỨng dụng điều khiển từ xa
Cổng mặc địnhTCP 5500Cổng Listening Mode dễ bị tấn công
LỗiMemory CorruptionDẫn đến RCE
Phiên bản an toàn2.8.90Đã vá lỗi bảo mật

Hướng dẫn phòng thủ và giảm thiểu rủi ro

Để bảo vệ hệ thống trước các cuộc tấn công khai thác lỗ hổng này, các quản trị viên hệ thống cần thực hiện ngay các biện pháp hardening sau đây:

  • Cập nhật phần mềm: Nâng cấp ngay lập tức lên phiên bản 2.8.90 hoặc mới nhất từ trang chủ của nhà cung cấp.
  • Vô hiệu hóa Listening Mode: Nếu không thực sự cần thiết, hãy tắt tính năng Listening Mode trên tất cả các máy trạm sử dụng TightVNC Viewer.
  • Kiểm soát truy cập mạng: Thiết lập quy tắc Firewall để chặn truy cập vào cổng TCP 5500 từ các mạng không tin cậy hoặc chỉ cho phép kết nối từ các dải IP nội bộ đã được xác thực.
  • Cảnh giác với kết nối lạ: Tuyệt đối không kết nối Viewer tới các máy chủ VNC không rõ nguồn gốc hoặc các dịch vụ hỗ trợ kỹ thuật không xác định.
⚠️ Cảnh báo quan trọng: Việc chỉ áp dụng các biện pháp hạn chế mạng (Network Restrictions) chỉ là giải pháp tạm thời. Việc cập nhật bản vá chính thức cho phần mềm là yêu cầu bắt buộc để loại bỏ hoàn toàn nguy cơ bị chiếm quyền điều khiển.

Tham khảo thêm thông tin chi tiết về các tiêu chuẩn bảo mật tại CISA để cập nhật các hướng dẫn bảo mật mới nhất cho hạ tầng doanh nghiệp.

Tổng hợp, và phân tích kỹ thuật từ:Cyber Security News
Xem bài gốc

Mạng Lưới An Ninh Mạng & Cộng Đồng

24/7 Alerts

Nhận cảnh báo 0-Day khẩn cấp, phân tích mã độc và tham gia thảo luận kỹ thuật cùng chuyên gia.

RSS Source

Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.

Bài Viết Liên Quan

Cùng chuyên mục & chủ đề