Tailscale o'zining ichki SSH serveridagi kamchiliklarni tuzatish uchun 1.104.4 versiyasini chiqardi. Bu kamchiliklar hujumchiga faqat root foydalanuvchisi kirishi mumkin bo'lgan boshqa serverlardagi xizmatlar va fayllarga kirish imkonini berishi mumkin edi.
Kamchiliklar Tailscale SSH tarmoq ulanishlarini yo'naltirish (forwarding) usulida, bu vazifani Tailscale fon jarayoni root huquqlari bilan bajaradi. Ulardan foydalanish uchun hujumchi avval tarmoqning kirish qoidalari ruxsat bergan qurilmani nazorat qilishi va shu qurilmadan maqsadli serverga SSH sessiyasi ochishi, yo'naltirish (forwarding) esa shu qoida bilan ruxsat etilgan bo'lishi kerak.
Kamchiliklar Cyberdione Labs'dan Erica Windisch tomonidan e'lon qilingan Tailworm nomli hisobotdan kelib chiqqan. U Tailscale mijozining chiqarilgan versiyalari va o'z-o'zini boshqaradigan headscale nazorat serverini laboratoriyada sinovdan o'tkazgan.
Tailscale SSH kim ulanishi mumkinligini qurilmaning shaxsi va tarmoq siyosat fayli orqali aniqlaydi, parol yoki kalit emas. Shuning uchun hujumchiga o'g'irlangan ma'lumotlar kerak emas, faqat siyosat allaqachon ishonadigan qurilmada o'rnashish (foothold) yetarli.
Tailscale aytishicha, "bu kamchiliklar autentifikatsiyalanmagan hujumchiga ixtiyoriy Tailscale SSH serverlariga ulanish imkonini bermaydi", va hujumchi faqat siyosat fayli allaqachon ruxsat bergan mashinalarga kirishi mumkin.
Tailscale SSH serveri faqat Linux va ochiq kodli macOS qurilishida ishlaydi; hujumchining o'z qurilmasi har qanday platforma bo'lishi mumkin.
Muammo socket yo'naltirishida (socket forwarding). Ruxsat etilgan SSH sessiyasi serverdagi Unix socketga ulanishni yo'naltirganda, Tailscale jarayoni yo'lni tekshirgan, lekin keyin root sifatida ishlagan. Vaqt hiylasi (timing trick) hujumchiga tekshiruvdan keyin boshqa yo'lni almashtirishga imkon bergan, bu esa yo'naltirish qaysi socketlarga yetishi mumkinligini cheklash uchun mo'ljallangan himoyani bekor qilgan.
Windischning o'z sinovlarida, Docker nazorat socketiga yo'naltirish root qobig'ini (shell) hosil qilgan va tizim parol fayli /etc/shadow ni administrator huquqlarisiz o'qigan. Tailscale byulleteni ta'sir doirasini torroq tasvirlab, hujumchi Docker socketi yoki tailscaled mahalliy API kabi root-faqat socketlarga kirishi mumkinligini aytgan.
1.104.4 versiyasida Tailscale serverni yo'naltirishni root emas, balki tizimga kirgan foydalanuvchi sifatida bajarishga o'zgartirgan va avvalgi yo'l tekshiruvi o'rniga operatsion tizimning o'z fayl ruxsatlariga tayanishni joriy qilgan. Chiqarilish 4 ta xavfsizlik byulletenini qamrab oladi:
- TS-2026-014: yuqoridagi SSH socket-yo'naltirish kamchiliklari, ruxsat etilgan sessiya Docker socketi yoki tailscaled mahalliy API kabi root-faqat socketlarga kirishi mumkin.
- TS-2026-015: ruxsat etilgan SSH sessiyasi server xotirasini to'ldirib, Tailscale jarayonini ishdan chiqarishi va shu tugundagi barcha Tailscale tarmog'ini uzishi mumkin.
- TS-2026-016: tailscale serve'dagi kamchilik, Unix socketga yo'naltirish tailscaled mahalliy API ga yetishi va tugunni masofadan nazorat qilish imkonini berishi, shuningdek bog'liq socket-almashtirish muammosi.
- TS-2026-017: TLS serve va 2 yoki undan ortiq mount bilan, bitta so'rov boshqa mountning ruxsat sarlavhalarini olishi mumkin bo'lgan kamchilik.
Nima qilish kerak
Tailscale SSH foydalanuvchilari 1.104.4 yoki undan keyingi versiyaga yangilanishi kerak. Agar serverni hali yangilay olmasangiz, unda SSH yo'naltirishni o'chirish mumkin: tailscaled xizmat muhitida TSSSHDISABLE_FORWARDING=1 ni o'rnatib, xizmatni qayta ishga tushirish. Tailscale aytishicha, bu yo'naltirishni o'chiradi, lekin Tailscale SSH ni o'chirmaydi va jiddiyroq topilmalarning bir nechtasini bloklaydi.
Tailscale shuningdek SSH kirish qoidalarini ko'rib chiqishni tavsiya qiladi, shunda faqat kerak bo'lgan foydalanuvchilar va qurilmalar kirish huquqiga ega bo'ladi.
Tailscale sezgir tizimlar uchun SSH tekshiruv rejimini (check mode) ishlatishni tavsiya qiladi, bu foydalanuvchidan sessiya boshlanishidan oldin qayta tizimga kirishni talab qiladi. Tekshiruv rejimi bu yo'naltirish kamchiliklarini to'xtatmaydi: u sessiyaning boshlanishini himoya qiladi, yo'naltirish esa allaqachon tasdiqlangan sessiya ichida sodir bo'ladi.
Agar server allaqachon buzilgan bo'lishi mumkin bo'lsa, Windisch hisobotida aytilishicha, faqat tuzatish yetarli emas. O'g'irlangan qurilma kaliti nazorat tekisligida (control plane) qurilma o'chirilmaguncha amal qiladi, chunki mashinani qayta o'rnatish (reimaging) uni bekor qilmaydi. Tailscale e'lonlarida bu holat qamrab olinmagan.
Vaziyat o'z-o'zini boshqaradigan headscale nazorat serverida yomonroq. Headscale'da SSH yo'naltirish har bir qabul qilingan sessiyada beriladi va siyosatda o'chirib bo'lmaydi, shuning uchun Windisch hisobotida aytilishicha, u yerdagi har bir SSH ruxsati root sifatida qaralishi kerak. 13-oktabrdagi eng yangi headscale versiyasi 0.29.5 e'lon qilingan muammolarni tuzatmaydi.
Bu qurt (worm)mi?
Windisch bu zanjirni "qurtlanadigan" (wormable) deb atagan. Uning sinovlarida, bitta buzilgan qurilma siyosat ruxsat bergan har bir qurilmaga tarqalishi mumkin edi, parollar, o'g'irlangan kalitlar va foydalanuvchi harakati talab qilinmasdan, har bir qadamda bir soniyadan kam vaqtda.
Bu tarqalishni ikkita nazorat to'xtatgan. Kirish qoidalarini yagona qurilma-qurilma juftliklari sifatida yozish uni sekinlashtirgan, qurilma kalitlarini TPM kabi apparatga bog'lash esa o'g'irlangan shaxsni boshqa joyda qayta ishlatishdan saqlagan.
Tailscale qurt tavsifini rad etgan. Topilmalar o'z-o'zini ko'paytiradigan va mashinalar o'rtasida mustaqil tarqaladigan zararli dasturiy ta'minotni tasvirlamaydi, deb aytgan kompaniya, balki siyosat fayli allaqachon ruxsat bergan ulanishlar bilan cheklangan lateral harakatni tasvirlaydi.
U imtiyoz oshirish (privilege-escalation) muammolarini "jiddiy xavfsizlik muammolari" deb atagan, asosiylarini qayta ishlab chiqqanini aytgan va qaysi konfiguratsiyalar ta'sirlanganini hali aniqlash ustida ishlayotganini qo'shgan.
Oshkor qilish va avvalgi tuzatishlar
Nashr vaqtidagi holatga ko'ra, 4 ta byulleten CVE identifikatorlari yoki jiddiylik ballariga ega emas va hech biri eng eski ta'sirlangan versiyani ko'rsatmaydi. Hisobot shuningdek Tailscale ilova ulanishlari (app connectors) va serve va funnel xususiyatlarini ham qamrab olgan.
Tailscale ilova-ulanish topilmasi conn25, hali chiqarilmagan eksperimental xususiyatda ekanligini va mijozlar bugun ishlatayotgan ulanishlar ta'sirlanmaganini aytgan. 5 ta serve va funnel topilmasidan 3 tasini tuzatgan va qolgan 2 tasi mo'ljallanganidek ishlashini aytgan.
Windisch hisobotni Tailscale bilan avvaldan muvofiqlashtirmasdan e'lon qilgan, bu holatni u "e'lon qilingan, lekin muvofiqlashtirilmagan" deb ta'riflagan. Tailscale hisobotni shanba, 24-oktabr kuni ertalab, Windisch e'lon qilishidan taxminan 2 soat oldin olganini va muhandislari allaqachon kodning shu qismlarini ko'rib chiqqanini aytgan.
Na Tailscale, na hisobot bu kamchiliklar haqiqiy hujumlarda ishlatilganini aytmaydi. Isbot-kontsept (proof-of-concept) kodi ommaviy emas va Windisch uni faqat Tailscale xavfsizlik jamoasiga berganini aytgan.
Hisobot bu yil Tailscale'ning shu qismida qilingan tuzatishlar qatoridagi eng so'nggisi. Iyun oyida Tailscale Tailscale SSH Unix-socket yo'naltirishidagi alohida kamchilikni tuzatgan, bu imtiyozsiz foydalanuvchiga imtiyozli socketga kirish imkonini bergan, 1.98.9 versiyasida.
Tailscale has released version 1.104.4 to fix flaws in its built-in SSH server that could let an attacker reach services and files on other servers that only the root user should be able to touch.
The flaws are in how Tailscale SSH forwards network connections, a job the Tailscale background process carries out with root privileges. To use them, an attacker must already control a device that the network's access rules permit to open an SSH session to the target, with forwarding allowed in that rule.
The flaws come from a report called Tailworm, published days before the fix by Erica Windisch of Cyberdione Labs, who tested released versions of the Tailscale client and the self-hosted headscale control server in a lab.
Tailscale SSH decides who can connect using a device's identity and the network's policy file, not a password or key, so an attacker does not need stolen credentials, only a foothold on a device the policy already trusts.
The flaws "don't allow an unauthenticated attacker to connect to arbitrary Tailscale SSH servers," Tailscale said, and an attacker can still reach only the machines the policy file already allows.
Tailscale SSH's server runs only on Linux and the open-source macOS build; the attacker's own device can be any platform.
The problem is in socket forwarding. When a permitted SSH session forwarded a connection to a Unix socket on the server, the Tailscale process checked the path but then operated as root. A timing trick let an attacker swap in a different path after that check, defeating the safeguard meant to limit which sockets forwarding could reach.
In Windisch's own tests, forwarding to the Docker control socket produced a root shell and read the system password file, /etc/shadow, with no administrator rights. Tailscale's bulletin describes the reach more narrowly, saying an attacker could get to root-only sockets such as the Docker socket or the tailscaled local API.
In 1.104.4, Tailscale changed the server to carry out forwarding as the logged-in user rather than as root, and to rely on the operating system's own file permissions in place of its earlier path check. The release covers 4 security bulletins:
- TS-2026-014: the SSH socket-forwarding flaws above, which let a permitted session reach root-only sockets such as the Docker socket or the tailscaled local API.
- TS-2026-015: a way for a permitted SSH session to use up a server's memory and crash the Tailscale process, cutting all Tailscale networking on that node.
- TS-2026-016: a flaw in tailscale serve where a forward to a Unix socket could reach the tailscaled local API, giving remote control of the node, plus a related socket-swap issue.
- TS-2026-017: a flaw where, with TLS serve and 2 or more mounts, one request could receive another mount's permission headers.
What to Do
Users of Tailscale SSH should update to version 1.104.4 or later. If you cannot update a server yet, you can turn off SSH forwarding on it by setting TSSSHDISABLE_FORWARDING=1 in the tailscaled service environment and restarting the service, which Tailscale says turns off forwarding without disabling Tailscale SSH and blocks several of the more serious findings.
Tailscale also recommends reviewing SSH access rules so that only the users and devices that need access have it.
Tailscale suggests using SSH check mode, which requires a user to sign in again before a session starts, for sensitive systems. Check mode does not stop these forwarding flaws: it guards the start of a session, whereas the forwarding occurs within a session that has already been approved.
If a server may already have been compromised, Windisch's report says the fix alone is not enough. A stolen device key stays valid until the device is deleted at the control plane, because reimaging the machine does not revoke it. Tailscale's notices do not cover this case.
The picture is worse on headscale, the self-hosted control server. On headscale, SSH forwarding is granted on every accepted session and cannot be turned off in the policy, so Windisch's report says every SSH grant there should be treated as giving root. The newest headscale release, version 0.29.5 from October 13, does not fix the reported issues.
Is It a Worm?
Windisch called the chain "wormable." In her tests, one compromised device could spread to every device the policy allowed, with no passwords, no stolen keys, and no user action, in under a second per step.
Two controls stopped the spread in those tests. Writing access rules as single device-to-device pairs held it back, and binding device keys to hardware such as a TPM kept a stolen identity from being reused elsewhere.
Tailscale rejected the worm description. The findings do not describe self-replicating malware that spreads between machines on its own, the company said, but lateral movement limited to the connections a policy file already allows.
It called the privilege-escalation problems "serious security issues," said it had reproduced the main ones, and added that it is still working out which configurations are affected.
Disclosure and Earlier Fixes
As of publication, the 4 bulletins carry no CVE identifiers or severity scores, and none state the oldest affected version. The report also covered Tailscale's app connectors and its serve and funnel features.
Tailscale said the app-connector finding is in conn25, an experimental feature it has not released, and that the connectors customers use today are not affected. Of 5 serve and funnel findings, it fixed 3 and said the other 2 work as designed.
Windisch published the report without coordinating the release with Tailscale first, which she has described as "reported but not coordinated." Tailscale said it received the report on the morning of Saturday, October 24, about 2 hours before Windisch published it, and that its engineers were already looking at the same parts of the code.
Neither Tailscale nor the report says the flaws have been used in real attacks. The proof-of-concept code is not public, and Windisch said she gave it only to Tailscale's security team.
The report is the latest in a run of fixes in the same part of Tailscale this year. In June, Tailscale fixed a separate flaw in Tailscale SSH's Unix-socket forwarding that let an unprivileged user reach a privileged socket, in version 1.98.9.
Found this article interesting? Follow us on Google News, Twitter and LinkedIn to read more exclusive content we post.