CVE-2026-48716 - nanobot: Path traversal via unsanitized WhatsApp document fileName enables arbitrary file write
Özet
Bu kayıt, hedef sistemde bulunan bir zafiyeti detaylandırmaktadır. Zafiyet 2026-06-18 tarihinde yayınlanmış olup, topluluktan 118 görüntülenme almıştır. web uygulamaları kategorisinde sınıflandırılmıştır. Kullanıcıların teknik detaylar için Detay sekmesindeki kaynak kodunu incelemeleri önerilir.
Zafiyet Ozet Bilgileri
Zafiyet Detayi (Turkce)
nanobot kişisel bir yapay zeka asistanıdır. 0.1.5.post3 ve önceki sürümlerde, Bridge/src/Whatsapp.ts dosyasındaki WhatsApp köprüsü, gelen bir WhatsApp belge mesajındaki dosyaAdı alanını temizlemeden kullanarak bir dosya sistemi yolu oluşturur. WhatsApp köprüsü, medya eklerini indirir ve gönderenin documentMessage.fileName aracılığıyla mesajından türetilen, bir önekle birleştirilmiş ve ham değeri doğrudan path.join(mediaDir, outFilename) öğesine aktarılan bir dosya adını kullanarak bunları diske yazar. Node.js path.join .. bileşenlerini çözerek, saldırganın ../../../.ssh/authorized_keys gibi hazırlanmış bir dosyaAdı olan bir belge göndererek amaçlanan medyadan/dizinden kaçmasına olanak tanır. Saldırgan aynı zamanda dosya içeriğini (indirilen arabellek) de kontrol ettiğinden, bu herhangi bir yere yazma ilkeldir; hem yol hem de içerik saldırgan tarafından kontrol edilir. 0.1.5.post4 sürümü için bu soruna yönelik bir düzeltme planlanmaktadır.
Orijinal Aciklama (Ingilizce)
nanobot is a personal AI assistant. In versions 0.1.5.post3 and prior, the WhatsApp bridge in bridge/src/whatsapp.ts constructs a filesystem path using the fileName field from an incoming WhatsApp document message without sanitization. The WhatsApp bridge downloads media attachments and writes them to disk using a filename derived from the sender's message via documentMessage.fileName, which is concatenated with a prefix and its raw value is passed directly to path.join(mediaDir, outFilename). Node.js path.join resolves .. components, allowing an attacker to escape the intended media/ directory by sending a document with a crafted fileName such as ../../../.ssh/authorized_keys. Because the attacker also controls the file content (the downloaded buffer), this is a write-anywhere primitive — both path and content are attacker-controlled. A fix for this issue is planned for version 0.1.5.post4.
Kaynak Kodu İndir
Çevrimdışı analiz ve test için exploit kaynak kodunu indirin.
Şimdi İndirDosya Boyutu: ~3.9 KB | MD5: 16f6844709161b90129e9a25e32eb8b2
Galeri görseli bulunmuyor.
Henüz tartışma başlatılmamış.