Popüler Node.js ikili ayrıştırıcı kitaplığında bulunan kritik bir kod yerleştirme güvenlik açığı, uygulamaları rastgele JavaScript yürütmeye maruz bırakıyor.
CERT/CC, 20 Ocak 2026’da Güvenlik Açığı Notu VU#102648’i yayınlayarak notu CVE-2026-1245 olarak atadı.
Kusur, 2.3.0’dan önceki sürümleri etkiliyor ve güvenli olmayan dinamik kod üretiminden kaynaklanıyor. Ayrıştırıcı tanımları için güvenilmeyen girdi kullanan geliştiriciler, tüm süreçten ödün verilmesi de dahil olmak üzere ciddi risklerle karşı karşıyadır.
Binary-parser, JavaScript’teki ikili verilerin bildirimsel sözdizimi ile ayrıştırılmasını basitleştirir. Ağ protokolleri, dosya formatları ve gömülü sistem verileri için araçlara güç sağlar.
Ancak 2.3.0’ın altındaki sürümler, çalışma zamanında ayrıştırıcı kodu oluşturmak için JavaScript’in İşlev yapıcısını kullanır.
Saldırganlar, alan adlarına veya kodlama parametrelerine kötü amaçlı veriler enjekte ederek bundan yararlanır.
Teknik Arıza
Güvenlik açığı ayrıştırıcının başlatılması sırasında ortaya çıkar. Bu güvenlik açığı bulunan kod pasajını göz önünde bulundurun:
const BinaryParser = require('binary-parser').Parser;
const userInput="{"field": ""; require("child_process").exec("rm -rf /"); '"}'; // Attacker-controlled
const parser = new BinaryParser({
field1: { formatter: userInput } // Unsanitized injection point
});Burada, userInput dize bağlamından çıkar, yürütür child_process.exec("rm -rf /")ve nesneyi kapatır.
İşlev yapıcısı bunu, Node.js işlem ayrıcalıklarıyla çalışan yürütülebilir JavaScript olarak değerlendirir.
Temel enjeksiyon vektörleri şunları içerir:
- Alan adları: Kaçış olmadan doğrudan oluşturulan koda enterpolasyon yapılır.
- Kodlama parametreleri: Gibi işlevlere aktarıldı
utf8StringveyaasciiStringprototip kirliliğini veya değerlendirme benzeri yürütmeyi mümkün kılar. - İç içe geçmiş yapılar: Özyinelemeli ayrıştırıcı tanımları saldırı yüzeyini güçlendirir.
Kimlik doğrulamaya gerek yoktur; HTTP üstbilgileri, dosya meta verileri veya veritabanı alanları gibi güvenilmeyen herhangi bir veri kaynağı yeterlidir. Statik, sabit kodlu ayrıştırıcılar, dinamik oluşturmayı atladıkları için güvende kalırlar.
Etki sunucu ortamlarında artıyor. Saldırganlar kabuk erişimi elde eder, hassas verileri çalar veya diğer sistemlere yönelir.
Bulut işlevlerinde, API’lerde veya IoT arka uçlarında bulunan Node.js uygulamaları, patlama etki alanını genişletir. CVSS puanlaması beklemede ancak CERT, uzaktan kod yürütme potansiyeli nedeniyle bunu kritik olarak değerlendiriyor.
Uzlaşma Göstergesi Yok (IoC’ler) mevcuttur. Bu prototip kirlilik tarzı kusur, hiçbir ağ imzası veya dosya yapısı bırakmaz.
Tespit, davranışsal izlemeye dayanır: Node.js çalışma zamanlarında anormal İşlev yapıcısı kullanımını veya beklenmeyen alt süreçleri izleyin. Falco veya Sysdig gibi araçlar şu konularda uyarı verebilir: new Function() dinamik dizelerle.
Azaltma ve Müdahale
Hemen ikili ayrıştırıcı 2.3.0 veya sonraki bir sürüme yükseltin. Bakımcı Keichi Takahashi, GitHub’daki 283 numaralı çekme isteğini birleştirerek, alan adları için giriş temizleme ve beyaz liste ekleme ekledi. Anahtar değişiklikler:
- Kullanıcı tarafından sağlanan dizelerdeki özel karakterlerden kaçının.
- Geçersiz kodlama parametrelerini reddet.
- Kullanımdan kaldırılan dinamik özellikler konusunda uyarıda bulunun.
Npm aracılığıyla doğrulayın:
npm install binary-parser@>=2.3.0
npm auditDinamik ayrıştırıcılar için kod tabanınızı denetleyin:
- Yakala
new Parser({değişkenlerle. - Gibi güvenli alternatiflerle değiştirin
buffermodül veyastructkütüphaneler. - En az ayrıcalık ilkesini uygulayın: Node.js’yi root olmayan olarak çalıştırın.
Araştırmacılar Maor Caplan konuyu bildirdi; Timur Snoke CERT notunu yazdı. CERT VU#102648, CVE-2026-1245, npm ikili ayrıştırıcı ve GitHub PR #283’teki güncellemeleri izleyin.
Bu kusur, çalışma zamanı kod genine sahip “bildirimsel” kitaplıklardaki risklerin altını çiziyor. Node.js geliştiricileri, aşağıdaki gibi yazılan ayrıştırma kitaplıklarını tercih etmelidir: binary-parser-ts veya yerel Tamponlar.
Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.