Tailscale vá lỗi SSH cho phép truy cập root qua chuyển tiếp socket
Phiên bản Tailscale 1.104.4 khắc phục các lỗ hổng leo thang đặc quyền nghiêm trọng trong máy chủ SSH, có thể cho phép kẻ tấn công giành quyền root trên máy chủ Linux và macOS.
Được dịch tự động từ bản gốc tiếng Anh.
Tailscale đã phát hành phiên bản 1.104.4 để giải quyết các lỗ hổng bảo mật nghiêm trọng trong máy chủ SSH tích hợp sẵn, vốn có thể cho phép kẻ tấn công leo thang đặc quyền lên mức root trên các máy mục tiêu. Các lỗ hổng này, được tiết lộ trong báo cáo của Erica Windisch từ Cyberdione Labs, ảnh hưởng đến cách dịch vụ xử lý việc chuyển tiếp kết nối mạng và đã được vá chỉ vài ngày sau khi chúng được công bố rộng rãi.
Chuyện gì đã xảy ra
Vấn đề cốt lõi nằm ở cách máy chủ SSH của Tailscale xử lý việc chuyển tiếp Unix socket. Khi người dùng thiết lập một phiên SSH, tiến trình nền của Tailscale thực hiện thao tác chuyển tiếp với đặc quyền root. Mặc dù hệ thống kiểm tra đường dẫn của socket đang được truy cập, một lỗ hổng về thời điểm (timing vulnerability) đã cho phép kẻ tấn công thay đổi đường dẫn sau bước kiểm tra nhưng trước khi kết nối được thiết lập. Điều kiện tranh chấp (race condition) này effectively bypassed các biện pháp bảo vệ nhằm hạn chế quyền truy cập vào các socket hệ thống nhạy cảm.
Trong các thử nghiệm phòng thí nghiệm, Windisch đã chứng minh rằng một kẻ tấn công đã kiểm soát một thiết bị được chính sách mạng cho phép có thể chuyển tiếp kết nối tới socket điều khiển Docker hoặc API cục bộ tailscaled. Quyền truy cập này cấp cho họ một shell root và khả năng đọc các tệp nhạy cảm như /etc/shadow mà không cần thông tin đăng nhập quản trị viên. Cuộc tấn công không yêu cầu đánh cắp mật khẩu hay khóa, mà chỉ cần một chỗ đứng trên một thiết bị đáng tin cậy trong mạng Tailscale.
Tailscale làm rõ rằng những lỗ hổng này không cho phép kẻ tấn công chưa xác thực kết nối tới các máy chủ tùy ý. Quyền truy cập vẫn được quản lý bởi tệp chính sách của mạng, nghĩa là kẻ tấn công chỉ có thể tiếp cận các máy mà họ đã được ủy quyền truy cập. Tuy nhiên, một khi đã ở trong một phiên được phép, việc leo thang đặc quyền cho phép di chuyển ngang (lateral movement) tới các dịch vụ chỉ dành cho root. Công ty mô tả các vấn đề này là những sự cố bảo mật nghiêm trọng nhưng bác bỏ cách gọi khai thác này là một con sâu tự nhân bản (self-replicating worm), lưu ý rằng nó dựa trên các quyền hạn chính sách hiện có chứ không phải sự lây lan tự động.
Cách thức hoạt động
Lỗ hổng khai thác sự khác biệt giữa việc kiểm tra quyền hạn và ngữ cảnh thực thi. Trước đây, tiến trình Tailscale xác minh đường dẫn socket rồi thực hiện thao tác chuyển tiếp dưới tư cách root. Bằng cách hoán đổi đường dẫn socket trong khoảng thời gian cửa sổ này, kẻ tấn công có thể lừa hệ thống kết nối tới một socket đặc quyền thay vì socket dự kiến. Bản sửa lỗi trong phiên bản 1.104.4 thay đổi hành vi này sao cho việc chuyển tiếp được thực hiện dưới tư cách người dùng đã đăng nhập thay vì root. Nó cũng chuyển sự phụ thuộc từ các kiểm tra đường dẫn nội bộ sang các quyền tệp gốc của hệ điều hành, vốn mạnh mẽ hơn trong việc chống lại các điều kiện tranh chấp như vậy.
Thay đổi này cụ thể giải quyết bản tin TS-2026-014, bao gồm các lỗ hổng chuyển tiếp socket. Bản cập nhật cũng giải quyết ba vấn đề khác: một lỗi cạn kiệt bộ nhớ có thể làm sập tiến trình Tailscale (TS-2026-015), một lỗi trong tính năng tailscale serve cho phép điều khiển nút từ xa qua Unix sockets (TS-2026-016), và một vấn đề rò rỉ header trong cấu hình TLS serve (TS-2026-017). Máy chủ SSH của Tailscale chạy trên Linux và bản build mã nguồn mở cho macOS, mặc dù thiết bị tấn công có thể thuộc bất kỳ nền tảng nào.
Chi tiết quan trọng
- Các phiên bản bị ảnh hưởng: Phiên bản cũ nhất bị ảnh hưởng không được nêu rõ, nhưng phiên bản 1.104.4 chứa các bản sửa lỗi.
- Điều kiện tiên quyết: Kẻ tấn công phải đã kiểm soát một thiết bị được chính sách mạng tin tưởng với tính năng chuyển tiếp SSH được bật.
- Tác động: Khai thác thành công cấp quyền truy cập vào các socket chỉ dành cho root, chẳng hạn như socket Docker hoặc API cục bộ tailscaled.
- Người dùng Headscale: Máy chủ điều khiển headscale tự host (phiên bản 0.29.5) chưa khắc phục những vấn đề này, và việc chuyển tiếp SSH không thể bị vô hiệu hóa trong chính sách của nó.
- Tiết lộ: Báo cáo được công bố mà không có sự phối hợp trước; Tailscale nhận được nó hai giờ trước khi công bố rộng rãi.
- Không có CVE: Tính đến thời điểm xuất bản, bốn bản tin bảo mật chưa được gán định danh CVE hoặc điểm mức độ nghiêm trọng.
Tại sao điều này quan trọng
Đối với các đội ngũ kỹ thuật sử dụng Tailscale để truy cập cơ sở hạ tầng, sự cố này nhấn mạnh rủi ro của niềm tin ngầm vào các mô hình danh tính thiết bị. Vì SSH của Tailscale sử dụng danh tính thiết bị thay vì mật khẩu, việc xâm phạm một thiết bị đáng tin cậy duy nhất có thể cung cấp một con đường dẫn tới các hệ thống quan trọng nếu tính năng chuyển tiếp được bật. Tốc độ mà cuộc khai thác có thể di chuyển ngang—dưới một giây mỗi bước trong các bài kiểm tra—nghĩa là thời gian phát hiện và phản hồi phải cực kỳ nhanh để ngăn chặn sự xâm phạm lan rộng.
Tình huống này đặc biệt thách thức đối với người dùng headscale, giải pháp thay thế mã nguồn mở cho bảng điều khiển (control plane) của Tailscale. Vì headscale hiện tại thiếu khả năng vô hiệu hóa chuyển tiếp SSH trong chính sách và chưa phát hành bản sửa lỗi, các quản trị viên sử dụng thiết lập này phải coi mọi quyền cấp SSH đều có khả năng cấp quyền root. Điều này nhấn mạnh tầm quan trọng của việc hiểu rõ sự khác biệt giữa các dịch vụ được quản lý và các giải pháp tự host khi đánh giá tư thế bảo mật.
Bạn có thể làm gì
- Cập nhật tất cả các client và server Tailscale lên phiên bản 1.104.4 trở lên ngay lập tức.
- Nếu không thể cập nhật, hãy đặt biến môi trường
TS_SSH_DISABLE_FORWARDING=1trong dịch vụ tailscaled để chặn việc chuyển tiếp. - Xem xét lại các quy tắc truy cập SSH để đảm bảo chỉ những thiết bị và người dùng cần thiết mới có quyền kết nối.
- Bật chế độ kiểm tra SSH (SSH check mode) cho các hệ thống nhạy cảm để yêu cầu xác thực lại trước khi bắt đầu phiên.
- Đối với người dùng headscale, hãy hạn chế nghiêm ngặt các quyền cấp SSH và giám sát các hoạt động cấp root trái phép.
- Hình ảnh hóa lại (reimage) và xóa các thiết bị bị xâm phạm khỏi bảng điều khiển nếu bạn nghi ngờ có sự vi phạm, vì việc hình ảnh hóa lại đơn thuần không thu hồi các khóa thiết bị.



