Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Yama var
  • Son 7 gün
  • CWE-78

CVE-2026-116576

systeminformation paketinde Windows üzerinde services fonksiyonunda Unicode tırnak işaretleriyle komut enjeksiyonu

sebhildebrandt systeminformation

Yüksek 7,8 CVSS 3.1
Yayımlandı
Güncellendi
26 Eki 2026
Açık yaşı
1 gün
Kaydı açan
GitHub_M

ÖzetTürkçe

systeminformation, node.js için bir sistem ve işletim sistemi bilgisi kütüphanesidir. 5.33.16 sürümünden önce, lib/processes.js içindeki services fonksiyonu, çağıran taraftan gelen bir servis adını lib/util.js içindeki sanitizeShellString ile işledikten sonra bir PowerShell Get-CimInstance filtresine ekliyordu. Windows'ta bu temizleme işlemi ASCII tırnaklarını kaldırıyor, ancak PowerShell'in dize sınırlayıcısı olarak kabul ettiği Unicode tırnak işaretlerine izin veriyordu. Bu durum, özel hazırlanmış bir girdinin filtreyi sonlandırmasına ve util.powerShell tarafından çalıştırılan komuta bir PowerShell ifadesi yerleştirmesine olanak tanıyordu. İfade, Node.js işlem hesabının yetkileriyle çalışır ve erişilebilir dosyaları okuyabilir veya değiştirebilir, uygulama verilerini değiştirebilir ya da servisi aksatabilir. Paketin kendisi bir ağ servisi sunmadığından, uzaktan erişilebilirlik, kullanan bir uygulamanın saldırgan kontrolündeki girdiyi services veya getDynamicData fonksiyonlarına iletmesine bağlıdır. Sorun 5.33.16 sürümünde giderilmiştir.

Kaynaktaki açıklama (İngilizce)

systeminformation is a System and OS information library for node.js. Prior to 5.33.16, services() in lib/processes.js inserts a caller-supplied service name into a PowerShell Get-CimInstance filter after processing it with sanitizeShellString() in lib/util.js. On Windows, the sanitizer removes ASCII quotes but permits Unicode quotation marks that PowerShell accepts as string delimiters, allowing crafted input to terminate the filter and place a PowerShell expression in the command executed by util.powerShell(). The expression runs with the Node.js process account's permissions and may read or change accessible files, alter application data, or disrupt the service. The package does not expose a network service itself, so remote reachability depends on a consuming application forwarding attacker-controlled input to services() or getDynamicData(). This issue is fixed in version 5.33.16.

Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
sebhildebrandt systeminformation < 5.33.16 5.33.16

Kaynaklar5 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.