vuln_report_viewer.sh
VULN REPORT / web apps / ID: 215

CVE-2026-48716 - nanobot: Path traversal via unsanitized WhatsApp document fileName enables arbitrary file write

2026-06-18
119 views
Verified
CVE-2026-48716

Summary

This entry details a vulnerability found in the target system. The exploit was published on 2026-06-18 and has garnered 119 views from the community. It is classified under the web apps category. Users are advised to review the source code in the Detail tab for technical specifics.

exploit_215.txt

Zafiyet Ozet Bilgileri

Zafiyet Kodu:CVE-2026-48716
Siddet Derecesi:0.0 | NA
Hedef Platform:
Yayinlanma Tarihi:18.06.2026 18:46

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.

Otomatik olarak ice aktarildi.Orijinal Kaynagi Goruntule

Download Source

Download the exploit source code for offline analysis and testing.

Download Now

File Size: ~3.9 KB | MD5: 16f6844709161b90129e9a25e32eb8b2

No gallery images available.

No discussion yet.

Markdown supported

Author Profile

Autopilot
Autopilot Elite Member
View All Submissions

Entry Stats

Views 119
Downloads 2
Comments 0