Hack Linux với mở file trong Vim hoặc Neovim Editor

Người dùng Linux, hãy cẩn thận!

Nếu gần đây bạn chưa cập nhật hệ điều hành Linux, đặc biệt là tiện ích soạn thảo văn bản dòng lệnh, thậm chí không thử xem nội dung của tệp bằng Vim hoặc Neovim.

Nhà nghiên cứu an ninh Armin Razmjou thời gian gần đây đã phát hiện ra một mức độ cao tùy ý hệ điều hành thực hiện lệnh lỗ hổng (CVE-2.019-12.735) trong Vim và Neovim -Hai dòng lệnh văn bản ứng dụng chỉnh sửa phổ biến nhất và mạnh mẽ đi kèm cài đặt sẵn với hầu hết các hệ điều hành dựa trên Linux .

Trên các hệ thống Linux, trình soạn thảo Vim cho phép người dùng tạo, xem hoặc chỉnh sửa bất kỳ tệp nào, bao gồm văn bản, tập lệnh lập trình và tài liệu.

Do Neovim chỉ là một phiên bản mở rộng của Vim, với trải nghiệm người dùng, plugin và GUI tốt hơn, lỗ hổng thực thi mã cũng nằm trong đó.

Lỗ hổng thực thi mã trong Vim và Neovim

Razmjou đã phát hiện ra một lỗ hổng trong cách trình soạn thảo Vim xử lý “modelines”, một tính năng được bật theo mặc định để tự động tìm và áp dụng một tập hợp các tùy chọn tùy chỉnh được đề cập bởi người tạo tệp gần dòng bắt đầu và kết thúc trong tài liệu.

lỗ hổng linux-vim

Mặc dù trình chỉnh sửa chỉ cho phép một tập hợp con các tùy chọn trong mô hình (vì lý do bảo mật) và sử dụng bảo vệ hộp cát nếu nó chứa biểu thức không an toàn, Razmjou tiết lộ rằng sử dụng “: source!” lệnh (với một sửa đổi bằng [!]) có thể được sử dụng để bỏ qua sandbox.

Do đó, chỉ cần mở một tệp được tạo thủ công đặc biệt bằng cách sử dụng Vim hoặc Neovim có thể cho phép kẻ tấn công bí mật thực thi các lệnh trên hệ thống Linux của bạn và kiểm soát nó từ xa.

Nhà nghiên cứu cũng đã phát hành hai khai thác bằng chứng khái niệm cho công chúng, một trong số đó thể hiện một kịch bản tấn công ngoài đời thực trong đó một kẻ tấn công từ xa có quyền truy cập vào một vỏ ngược từ hệ thống của nạn nhân ngay khi anh ta mở một tập tin trên nó

Các nhà bảo trì của Vim (bản vá 8.1.1365) và Neovim (phát hành trong v0.3.6) đã phát hành bản cập nhật cho cả hai tiện ích để giải quyết vấn đề mà người dùng nên cài đặt càng sớm càng tốt.

Bên cạnh đó, nhà nghiên cứu cũng đã khuyến nghị người dùng:

  • Vô hiệu hóa tính năng modelines,
  • Vô hiệu hóa “modelineexpr” để không cho phép các biểu thức trong mô hình,
  • Sử dụng “securemodelines plugin”, một giải pháp thay thế an toàn cho các mô hình Vim.

bình luận

Leave a Comment