Apa yang terjadi
InputSanitizer.sanitizePath() melindungi dari traversal dengan perbandingan startsWith yang tidak dijangkar, yang dapat dikalahkan oleh nama direktori saudara yang berbagi awalan dengan basis, memungkinkan jalur melarikan diri dari direktori dasar yang dimaksud.
Mengapa penting
Sanitizer jalur framework agen adalah kontrol pusat yang menjadi dependensi banyak operasi file lainnya; ketika dapat dilewati oleh jalur direktori saudara, operasi baca/tulis hilir di runtime agen kehilangan penahannya, memperburuk kegagalan batas kepercayaan yang lebih luas di paket ini.
Vektor serangan
Sanitizer menerima jalur yang nama direktori berbagi awalan string dengan dan berada sebagai saudara dari direktori dasar yang dimaksud, sehingga jalur yang dikendalikan penyerang melarikan diri dari direktori dasar meskipun pemeriksaan string lulus. Ini memperburuk primitif traversal lainnya di paket ini.
Sistem yang terdampak
paket npm network-ai, InputSanitizer.sanitizePath(), versi sebelum 5.15.5; diperbaiki di 5.15.5
Mitigasi
Tingkatkan ke network-ai >= 5.15.5; ganti pemeriksaan startsWith yang tidak dijangkar dengan penahanan jalur yang telah diselesaikan terhadap direktori dasar kanonik (dan kesadaran pemisah).