CVE-2023-26158

Yüksek

Açıklama

mockjs paketinin tüm sürümleri, özniteliğin nesne prototipine çözümlenip çözümlenmediğine dair kontrol eksikliği nedeniyle Util.extend fonksiyonu üzerinden Prototype Pollution zafiyetine sahiptir. Bir nesne prototipinin öznitelikleri eklenerek veya değiştirilerek, her nesnede mevcut olan öznitelikler oluşturulabilir veya kritik öznitelikler kötü amaçlı olanlarla değiştirilebilir. Yazılımın belirli özniteliklerin varlığına veya yokluğuna bağımlı olması ya da nesne prototipinin önceden tanımlanmış özniteliklerini (hasOwnProperty, toString veya valueOf gibi) kullanması durumunda bu durum sorun teşkil edebilir. Mock.Handler, Mock.Random, Mock.RE.Handler veya Mock.Util içerisindeki extend() metodundaki kullanıcı kontrollü girdiler, bir saldırganın bu zafiyeti istismar etmesine olanak tanır. Geçici Çözüm Tehlikeli özniteliklerden oluşan bir kara liste (denylist) kullanılarak bu zayıflık giderilebilir. Util.extend fonksiyonuna aşağıdaki satırı ekleyin: js if (["__proto__", "constructor", "prototype"].includes(name)) continue js // src/mock/handler.js Util.extend = function extend() { var target = arguments[0] || {}, i = 1, length = arguments.length, options, name, src, copy, clone if (length === 1) { target = this i = 0 } for (; i < length; i++) { options = arguments[i] if (!options) continue for (name in options) { if (["__proto__", "constructor", "prototype"].includes(name)) continue src = target[name] copy = options[name] if (target === copy) continue if (copy === undefined) continue if (Util.isArray(copy) || Util.isObject(copy)) { if (Util.isArray(copy)) clone = src && Util.isArray(src) ? src : [] if (Util.isObject(copy)) clone = src && Util.isObject(src) ? src : {} target[name] = Util.extend(clone, copy) } else { target[name] = copy } } } return target }

ÖnemYüksek
CVSS8.2
İstismar olasılığı—
ÜrünMockjs
Yayın8 Ara 2023
İlk görülme8 Ara 2023
Zayıflık türüCWE-1321Prototip kirletme

Nasıl düzeltilir

Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
mockjsnpmv ≤ 1.1.0—
mockjs mock.jsv ≤ 1.1.0—

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.

Intelligence 360 paketinde

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.

CVE-2023-26158 · Mockjs · Dark Radar