Lỗ hổng Tailscale SSH đang được giới quản trị server chú ý sau khi báo cáo Tailworm được công bố ngày 25/10/2026. Nhà nghiên cứu Erica Windisch (Cyberdione Labs) liệt kê 11 phát hiện trong Tailscale 1.104.2, headscale 0.29.5 và thư viện gliderssh. Một số lỗi cho phép kẻ đã chiếm một thiết bị trong tailnet leo lên quyền root trên máy chủ khác. Báo cáo được công bố không qua phối hợp với nhà phát triển, và tới ngày 26/10 Tailscale chưa có bản vá.

Tóm tắt nhanh

  • Báo cáo: Tailworm, kiểm thử từ 22 đến 24/10/2026, công bố công khai ngày 25/10.
  • Phiên bản được kiểm thử: Tailscale 1.104.2, headscale 0.29.5, thư viện gliderssh.
  • Mức độ: 11 phát hiện, phần lớn được tác giả xếp High. Không phải lỗi RCE từ Internet.
  • Điều kiện chính: chiếm được một thiết bị trong tailnet và có quy tắc SSH cho phép.
  • Bản vá: chưa có bulletin, CVE hay bản phát hành sửa lỗi tính đến 26/10/2026.
  • Việc cần làm: thu hẹp quy tắc SSH, tắt chuyển tiếp, gỡ forward tới Unix socket, bật hết hạn node key.

Tailworm phát hiện những gì?

Báo cáo chia 11 phát hiện thành nhiều nhóm. Nhóm đáng chú ý nhất với chủ VPS là Tailscale SSH, vì tiến trình tailscaled chạy với quyền root.

NhómNội dung chínhMức tác giả đánh giá
Tailscale SSH (lỗi 1–3)Chuyển tiếp Unix socket qua ssh -L và ssh -R được thực hiện với quyền root; lỗi race TOCTOU vượt qua danh sách đường dẫn cho phépHigh
App connector conn25 (lỗi 4)Quyền ứng dụng thông thường mở được đích đến tùy ý, gồm metadata cloud và mạng nội bộHigh
gliderssh (lỗi 5)Phiên SSH đã xác thực có thể làm tailscaled cạn bộ nhớHigh
headscale và DERP (lỗi 6)Làm cạn bộ nhớ control server headscale mà không cần tài khoản; client trỏ tới relay độc hại có thể bị "bom" bộ nhớMedium-High
tailscale serve (lỗi 7–11)Forward TCP tới socket localapi, kiểm tra socket chỉ lúc cấu hình, rò rỉ quyền giữa các mount HTTP/2Từ ghi chú cấu hình tới High

Theo báo cáo, với nhóm lỗi SSH, kẻ tấn công không cần sudo, nhóm docker hay quyền gì trên máy nạn nhân. Chỉ cần một quy tắc SSH cho phép kết nối và chuyển tiếp. Trong môi trường thử nghiệm, từ một thiết bị bị chiếm, tác giả leo được lên root trên các máy chủ khác và đăng ký được node giả mạo.

Ai cần lo nhất?

  • Đội vận hành dùng Tailscale SSH để quản trị nhiều VPS, đặc biệt khi quy tắc SSH cấp theo cả nhóm người dùng hoặc theo tag.
  • Người tự host headscale làm control server và để nó lộ ra Internet.
  • Máy chủ có cấu hình tailscale serve --tcp trỏ tới Unix socket.
  • Hệ thống dùng tính năng app connector thử nghiệm.

Nếu bạn chỉ dùng Tailscale làm VPN nối các máy, không bật Tailscale SSH và không dùng serve, rủi ro thấp hơn nhiều. Dù vậy vẫn nên rà lại cấu hình.

Phản hồi từ Tailscale

Trang Security Bulletins của Tailscale có bulletin mới nhất là TS-2026-013 ngày 21/10/2026, về chứng chỉ trung gian eMudhra bị lộ khóa. Bulletin này yêu cầu cập nhật lên 1.104.2 và không nhắc tới Tailworm. Theo Brandefense, kho mã công khai của Tailscale có một số commit trong khu vực chuyển tiếp SSH và serve từ 23 đến 26/10, nhưng chưa nằm trong bản phát hành nào và hãng chưa liên kết chúng với báo cáo.

Trước đó trong năm 2026, Tailscale đã vá nhiều lỗi khác của Tailscale SSH, như TS-2026-006 (dùng UID dạng số để vượt hạn chế root) và TS-2026-009 (tên người dùng bắt đầu bằng dấu gạch ngang), cả hai sửa trong 1.98.9.

Chủ VPS nên làm gì ngay?

  1. Kiểm tra phiên bản và giữ cập nhật: chạy tailscale version. Nên ở bản 1.104.2 trở lên để có các bản vá đã công bố, và theo dõi bản kế tiếp.
  2. Thu hẹp quy tắc SSH: thay quy tắc cấp cho cả nhóm hoặc cả tag bằng quy tắc theo từng cặp nguồn – đích. Không cho phép đăng nhập vào tài khoản đặc quyền.
  3. Tắt chuyển tiếp trong quy tắc SSH trên bảng điều khiển Tailscale nếu không cần.
  4. Tắt Tailscale SSH nơi không dùng: tailscale set --ssh=false. Hãy chắc chắn còn đường vào khác như OpenSSH với SSH key trước khi tắt.
  5. Rà cấu hình serve: chạy tailscale serve status, gỡ các forward TCP trỏ tới Unix socket, không bật TS_SERVE_ALLOW_ALL_INTERFACES.
  6. Bật hết hạn node key cho các máy chủ, và xóa ngay thiết bị nghi bị chiếm ở control plane. Cài lại máy không thu hồi được khóa đã bị sao chép.
  7. Với headscale: đặt giới hạn bộ nhớ, cơ chế tự khởi động lại, giới hạn tốc độ và hạn chế IP truy cập control server.

Nếu bạn đang dựng hạ tầng mới, nên đặt mỗi khách hàng hoặc mỗi nhóm dịch vụ không tin tưởng nhau trên VPS riêng, thay vì dồn chung một máy, để một thiết bị bị chiếm không kéo theo cả hệ thống.

Bài học về mạng zero-trust

Tailscale giúp bỏ cổng SSH khỏi Internet, nhưng không thay thế được nguyên tắc quyền tối thiểu. Mỗi thiết bị trong tailnet là một điểm có thể bị chiếm. Quy tắc truy cập càng rộng thì một máy bị nhiễm càng lan xa. Hãy coi danh sách ACL như tường lửa: mặc định từ chối, chỉ mở đúng cặp máy cần nói chuyện với nhau.

Nguồn tham khảo