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

CVE-2026-114604

GraphQL Tools mergeIncrementalResult fonksiyonunda prototip kirliliği (prototype pollution)

ardatan graphql-tools

Yüksek 8,4 CVSS 4.0
Yayımlandı
Güncellendi
6 Kas 2026
Açık yaşı
0 gün
Kaydı açan
GitHub_M

Yönetici özeti

Bu açık, GraphQL veri işleme kütüphanesini kullanan uygulamaların saldırganın kontrolündeki veriyle manipüle edilmesine yol açabilir. Etkilenen sistemler güvenilmeyen veri kaynaklarını işliyorsa risk yüksektir. Kütüphanenin güncellenmesi bu riski ortadan kaldırmak için acil bir öncelik olmalıdır.

ÖzetTürkçe

GraphQL Tools kütüphanesindeki @graphql-tools/utils paketinde yer alan mergeIncrementalResult yardımcı fonksiyonu, incrementalResult.path parçalarını tip doğrulaması yapmadan setObjectKeyPath fonksiyonuna iletmektedir. Sürüm 10.10.1 ile 12.0.2 arasındaki sürümler etkilenmektedir. Bu kusur, @defer veya @stream taşıma sonuçlarını güvenilmeyen kaynaklardan birleştiren uygulamalarda ortaya çıkmaktadır.

Saldırgan ne yapabilir?

Saldırgan, kötü amaçlı ya da ele geçirilmiş bir üst akış GraphQL yanıtı aracılığıyla Node.js sürecindeki Object.prototype nesnesine kendi kontrolündeki özellikleri yazabilir. Bu da uygulamanın beklenmeyen davranışlar göstermesine ve kimlik doğrulama ya da yetkilendirme mantığının etkilenmesine yol açabilir.

Kaynaktaki açıklama (İngilizce)

GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. From 10.10.1 until 12.0.2, the @graphql-tools/utils mergeIncrementalResult helper passes incrementalResult.path segments to setObjectKeyPath without runtime primitive-type validation. A non-primitive segment can bypass strict comparisons against __proto__, constructor, and prototype, then be coerced during property access so a malicious or compromised upstream incremental GraphQL response writes attacker-controlled properties to Object.prototype in the consuming Node.js process. The affected implementation is packages/utils/src/mergeIncrementalResult.ts and is reachable when consumers merge untrusted @defer or @stream transport results. This issue is fixed in version 12.0.2.

Ne yapmalı?

  1. GraphQL Tools kütüphanesini 12.0.2 veya daha yeni bir sürüme yükseltin. Genel öneri
  2. Uygulamanın bağımlılık ağacını kontrol ederek @graphql-tools/utils paketinin etkilenen sürüme inmediğinden emin olun ve güncellemeyi yeniden dağıtın. Genel öneri

Ek önlemler

  • @defer veya @stream ile gelen artımlı yanıtların güvenilir kaynaklardan geldiğini doğrulayın ve dış kaynaklı yanıtları yalnızca gerekli olduğu durumlarda işleyin. Genel öneri
  • Node.js uygulamalarında Object.prototype üzerinde beklenmeyen özellik eklenmelerini izleyen kontrolleri veya test adımlarını CI sürecine dahil edin. Genel öneri

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
ardatan graphql-tools Sürüm belirtilmemiş –

Kaynaklar7 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.