deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

CVE-2026-32746: 1994 döneminden kalma, kimlik doğrulama öncesi telnetd taşması Linux, BSD'ler ve cihazlara ulaşıyor

GNU inetutils telnetd, 1994'ten bu yana kimlik doğrulama öncesi bir buffer overflow taşıyor; watchTowr, CVE-2026-32746'yı Ubuntu, Debian, FreeBSD, NetScaler ve dahasında izliyor.

CVE-2026-32746: 1994 döneminden kalma, kimlik doğrulama öncesi telnetd taşması Linux, BSD'ler ve cihazlara ulaşıyor

1994 tarihli bir hata nihayet CVE'sini aldı

Güvenlik firması watchTowr Labs, GNU inetutils ile birlikte gelen Telnet sunucusundaki bir buffer overflow olan CVE-2026-32746 hakkında teknik bir analiz yayımladı; şirkete göre bu hata kodda 1994'ten bu yana mevcut. Açığı DREAM Security Research Team keşfetti ve watchTowr, hatanın yayımlanmasının ardından neredeyse bir hafta boyunca kapsamlı bir genel analiz çıkmayınca kendi yazısını yayımlamaya karar verdiğini söylüyor. Yazı ardından Hacker News'in ana sayfasına ulaştı.

Güvenlik açığını öne çıkaran şey ise konumu: telnetd'nin, herhangi bir kullanıcı oturum açmadan önce çalışan protokol seçenek müzakeresini işleyen kısmında yer alıyor. Ağa üzerinden hizmete erişebilen bir saldırgan, açığı tetiklemek için geçerli kimlik bilgilerine ihtiyaç duymuyor.

Taşma nasıl çalışıyor

watchTowr'nun açıkladığı gibi, Telnet bir shell'e giden salt bir TCP bağlantısından fazlasıdır. Protokol, istemci ve sunucunun yerel yankı, terminal pencere boyutu ve LINEMODE gibi özelliklerde anlaşmasını sağlayan, IAC ('interpret as command') baytı 0xFF üzerinden yürütlenen bant içi seçenek müzakeresini destekler.

RFC 1184 ile standartlaştırılan LINEMODE, istemcinin bir satırın tamamını yerel olarak düzenleyip tuş vuruşu başına bir paket yerine tek bir seferde göndermesine imkân tanır — bazı ağların paket başına faturalandırma yaptığı bir dönemin optimizasyonu. LINEMODE içinde, iki ucun, geri al tuşu gibi özel bir karakteri hangi kontrol kodunun temsil edeceğine dair üç baytlık üçlüleri, bir destek düzeyi ve bir değerle birlikte değiştirdiği 'set linemode characters' yani SLC mekanizması yer alır.

Koreografi şöyle işler: TCP bağlantısı kurulduğunda sunucu LINEMODE ister (IAC DO LINEMODE); istemci kabul eder (IAC WILL LINEMODE); sunucu SLC üçlülerinden oluşan listesini gönderir; istemci kendi yerine koyacağı değerlerle yanıt verebilir. Sunucu, dönen bu değerleri sabit boyutlu bir global diziye yazar — hiçbir sınır kontrolü yapmadan. Otuz yılı aşkın süredir yerinde duran bu eksik kontrol, güvenlik açığının ta kendisidir. Analize göre taşma BSS tabanlı ve bir saldırganın bitişik değişkenlerden yaklaşık 400 baytı bozmasına imkân tanıyor.

Hangi sistemler etkileniyor

Düzeltme inetutils-telnetd'ye girdi; ancak watchTowr, üreticilerin uzun süredir Telnet daemon'larını aynı kaynak kod üzerine inşa ettiğini, onu değiştirip yeniden kullandığını — ve hatayı da birlikte taşıdığını vurguluyor. Firma, savunmasız kodu Ubuntu, Debian, FreeBSD 13 ve FreeBSD 15 portunda, NetBSD 10.1, DragonFlyBSD, Citrix NetScaler, Apple'ın macOS Tahoe'su, Haiku, TrueNAS Core, uCLinux ve libmtev'de doğruladığını ve ne kadar fork bulunduğu göz önüne alındığında gerçek kapsamın tahmin edilmesinin zor olduğunu söylüyor.

Sektörün daha önce bir kez yazdığı bir düzeltme

Bu tam hata için emsal var. 2005 tarihli CVE-2005-0469, özünde aynı eksik sınır kontrolüydü; yalnızca protokolün istemci tarafında, slc_add_reply adlı bir fonksiyondaydı. Şimdi sunucuya uygulananla aynı mantıktaki bir sınır kontrolüyle onarıldı. watchTowr içindeki ironiye dikkat çekiyor: İstemciyi yirmi yıl önce yamalamak kimseyi eşleşen sunucu kodunu denetlemeye itmedi ve bu ikiz bugüne kadar hayatta kaldı.

Sömürü göründüğü kadar basit değil

Kimlik doğrulama öncesi etiketine rağmen watchTowr, bu taşmayı güvenilir bir kod yürütmeye dönüştürmenin göründüğünden daha çetrefilli olduğu konusunda uyarıyor ve yazısında hatanın bir saldırgan için gerçekten ne zaman işe yaradığını inceliyor. Firma ayrıca bunu, kod yürütme için protokolün ortam değişkeni iletimini istismar eden ayrı ve yakın tarihli bir Telnet açığı olan CVE-2026-24061 ile karşılaştırıyor; o hatanın sömürülmesinin daha kolay ama erişim açısından çok daha dar olduğu bildiriliyor.

Neden önemli

Telnet tam anlamıyla ölmedi. watchTowr, üretim sistemlerinin onu hâlâ, üretici destek politikalarından SSH istemcisi barındıramayacak denetleyicilere sahip endüstriyel ekipmana kadar uzanan nedenlerle çalıştırdığına ve telnetd'nin her büyük Linux dağıtımının depolarında paketlenmiş olmaya devam ettiğine dikkat çekiyor. SSH modern alternatif ve Telnet kimlik bilgilerini düz metin olarak gönderiyor; ama bu, kurulu tabanı etkisiz kılmıyor. Dolayısıyla kimlik doğrulama öncesi bir bellek bozulması hatasının gerçek hedefleri var — ve bunlar cihazlar, eski sunucular ve gömülü donanımlara doğru kaymakta; bir de en hızlı yamalanması en az olası makineler tam olarak bunlar.

Etkilenen kod ayrıca birçok bağımsız fork'a yayıldığından tek bir üretici güncellemesi her şeyi çözmez; her downstream projenin düzeltmeyi kendisinin uygulaması gerekir ve bazıları CVE'nin kendilerine uygulandığını hiç fark etmeyebilir.

Son olarak bu olay, kod soyağacı konusunda bir derstir. 2005'te istemcide düzeltilen bir hata, kimse kardeş kod yolunu kontrol etmediği için sunucuda 2026'ya kadar hayatta kaldı. Eski Unix kaynaklarından türeyen her şeyin bakımcıları için çıkarım rahatsız edici: bir açık ortaya çıktığında, aynı denetimin büyük olasılıkla kodun kopyalandığı her yerde çalıştırılması gerekiyor.

  • #security
  • #telnet
  • #vulnerability
  • #gnu-inetutils
  • #legacy-systems

İlgili yazılar