CVE-2026-48716 - nanobot: Path traversal via unsanitized WhatsApp document fileName enables arbitrary file write
Сводка
Эта запись подробно описывает уязвимость, обнаруженную в целевой системе. Эксплойт был опубликован 2026-06-18 и набрал 120 просмотров сообщества. Он классифицируется по категории веб-приложения. Пользователям рекомендуется ознакомиться с исходным кодом во вкладке «Детали» для получения технических подробностей.
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.
Скачать исходный код
Скачать исходный код эксплойта для оффлайн анализа и тестирования.
Скачать сейчасРазмер файла: ~3.9 KB | MD5: 16f6844709161b90129e9a25e32eb8b2
Нет доступных изображений в галерее.
Обсуждений пока нет.