Lỗ hổng mức độ HIGH CVE-2026-59858 trên Vim (trước bản 9.2.0735) cho phép chèn lệnh Ex bất kỳ qua tệp tags độc hại. Bitech khuyến nghị cập nhật ngay.
Bộ phận biên tập an toàn thông tin của Bitech phát cảnh báo về lỗ hổng bảo mật CVE-2026-59858 được công bố ngày 09/07/2026. Lỗ hổng này ảnh hưởng trực tiếp đến Vim – trình chỉnh sửa văn bản phổ biến trên giao diện dòng lệnh, được đánh giá ở mức độ nghiêm trọng HIGH trên thang điểm CVSS.
Mô tả kỹ thuật về lỗ hổng CVE-2026-59858
Lỗ hổng nằm trong kịch bản hoàn thành tự động mã nguồn C (C omni-completion) tại đường dẫn runtime/autoload/ccomplete.vim của Vim.
Cụ thể, khi xử lý các trường mở rộng typeref: hoặc typename: từ một mục nhập trong tệp tags, Vim đã chèn trực tiếp chuỗi ký tự này vào mẫu tìm kiếm :vimgrep được chạy thông qua lệnh :execute mà không thực hiện ký tự thoát (escaping) hợp lệ.
Do :vimgrep coi ký tự gạch đứng (|) là ký tự phân tách lệnh, kẻ tấn công có thể tạo một tệp tags độc hại chứa trường tag tùy chỉnh. Mục nhập này sẽ kết thúc mẫu tìm kiếm hiện tại và chèn thêm một lệnh Ex tùy ý phía sau.
Đối tượng bị ảnh hưởng
- Phần mềm: Trình biên soạn Vim các phiên bản trước 9.2.0735.
- Kịch bản tấn công: Người dùng mở một tệp mã nguồn
.cthuộc dự án chứa tệptagsđã bị kẻ tấn công thao túng, sau đó kích hoạt tính năng C omni-completion (thường dùng phím tắtCtrl-X Ctrl-O). Lệnh Ex độc hại sẽ lập tức được thực thi dưới quyền của tài khoản người dùng đang thao tác.
Mức độ ảnh hưởng
Lỗ hổng được đánh giá ở mức độ nghiêm trọng cao (HIGH). Nếu khai thác thành công, kẻ tấn công có thể thực thi các câu lệnh hệ thống hoặc câu lệnh Vim bất kỳ, dẫn đến nguy cơ mất an toàn dữ liệu, rò rỉ thông tin nhạy cảm hoặc chiếm quyền điều khiển môi trường làm việc của lập trình viên.
Khuyến nghị khắc phục
Để đảm bảo an toàn cho môi trường phát triển ứng dụng, Bitech khuyến nghị người dùng và các quản trị viên thực hiện ngay các bước sau:
- Cập nhật phiên bản: Nâng cấp Vim lên phiên bản 9.2.0735 hoặc mới hơn. Phiên bản này đã sửa lỗi bằng cách xử lý thoát ký tự an toàn trước khi truyền vào
:vimgrep. - Kiểm tra nguồn dự án: Thận trọng khi tải xuống và làm việc với các dự án mã nguồn C từ các nguồn không rõ uy tín, đặc biệt là các dự án đi kèm tệp
tagscó sẵn. - Giám sát hệ thống: Tạm thời hạn chế kích hoạt tính năng omni-completion trên các dự án chưa được kiểm chứng nếu chưa thể nâng cấp Vim ngay lập tức.
Nguồn tham khảo
- Cơ sở dữ liệu lỗ hổng quốc gia: NVD - CVE-2026-59858
- Báo cáo an ninh GitHub: Vim Security Advisory GHSA-mf92-v4xw-j45x
- Mã nguồn sửa lỗi: Vim Commit 6b611b0
Ngày phát hành: 09/07/2026
Nguồn: NVD — CVE-2026-59858
Tham khảo: https://github.com/vim/vim/commit/6b611b0d15603c52ebdad17172b0232b4f65704e
Tham khảo: https://github.com/vim/vim/security/advisories/GHSA-mf92-v4xw-j45x