CVE-2026-54051
Açıklama
Network-AI, bir TypeScript/Node.js çoklu ajan orkestratörüdür. Versiyon 5.9.1 öncesinde, ajan sandbox'ı kabuk komutlarını bir izin listesiyle (`SandboxPolicy.isCommandAllowed`) kısıtlamaktadır ve THREAT_MODEL.md bu mekanizmayı ele geçirilmiş bir ajana karşı temel kontrol olarak tanımlamaktadır (Adversary 3.2). İzin listesi tüm komut dizgisini glob ile eşleştirir ancak `ShellExecutor` bu dizgiyi `/bin/sh -c` üzerinden çalıştırır. Bu nedenle, `git *`, `npm *` veya `node *` gibi herhangi bir joker karakter izni aynı zamanda `git status; <herhangi bir şey>` ifadesiyle de eşleşir ve kapsamlı bir komut rastgele kod yürütmeye dönüşür. Sorun v5.9.1 sürümünde düzeltilmiştir. `ShellExecutor` artık tırnak işaretlerini tanıyan ayrıştırılmış bir argv kullanarak `spawn(file, args, { shell: false })` aracılığıyla yürütme yapar, böylece herhangi bir kabuk çağrılmaz. `SandboxPolicy.isCommandAllowed` ve yeni `SandboxPolicy.tokenizeCommand`, izin listesi glob eşleşmesinden önce tırnak içine alınmamış herhangi bir kabuk meta karakterini (`; & | $ ` ` ` ( ) < > { }` yeni satır) veya kapatılmamış tırnağı reddeder; tırnak içindeki meta karakterler ise gerçek argüman verisi olarak korunur. Kullanıcıların `[email protected]` veya daha yeni bir sürüme yükseltme yapmaları önerilir. Derinlemesine savunma önlemi olarak, tasarımı gereği doğrudan kod yürütmeye olanak tanıyan `node *` / `npm *` gibi geniş joker karakterli izin listesi girişlerinden kaçınılmalıdır.
Nasıl düzeltilir
- network-ai5.9.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| network-ainpm | v < 5.9.1 | 5.9.1 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.