CVE-2026-54133
Açıklama
jmespath.php, kullanıcıların bir JSON belgesinden öğelerin nasıl çıkarılacağını bildirimsel olarak belirleyen JMESPath yazılımını, PHP veri yapılarıyla birlikte PHP uygulamalarında kullanmasına olanak tanır. 2.9.1 öncesindeki sürümler, `JmesPath\CompilerRuntime` saldırgan kontrollü bir JMESPath ifadesiyle kullanıldığında, saldırgan tarafından kontrol edilen PHP kodunun oluşturulmasına ve yürütülmesine neden olabilir. Derleyici, ayrıştırılmış JMESPath fonksiyon isimlerini yeterli kaçış karakterleri (escaping) olmadan oluşturulan PHP kaynağına aktarmaktadır. Özel olarak hazırlanmış bir ifade, oluşturulan önbellek dosyasının yürütülebilir saldırgan kontrollü PHP kodu içermesine neden olabilir ve bu kod daha sonra derleyici çalışma zamanı (compiler runtime) tarafından yüklenir. Sorun `2.9.1` ve sonraki sürümlerde düzeltilmiştir. Geçici çözüm olarak, `JP_PHP_COMPILE` devre dışı bırakılmalı ve `JmesPath\CompilerRuntime`, saldırgan kontrollü ifadelerle kullanılmamalıdır. Güvenilmeyen ifadeler için varsayılan `AstRuntime` kullanılmalıdır. Güncelleme yapmadan önce güvenilmeyen JMESPath ifadelerini kabul etmeye devam etmek zorunda olan uygulamalar, bu ifadelerin derleyici çalışma zamanı tarafından asla değerlendirilmediğinden emin olmalıdır.
Nasıl düzeltilir
- jmespath jmespath2.9.1 ya da sonraki bir sürüm
- mtdowling/jmespath.php2.9.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| jmespath jmespath | v < 2.9.1 | 2.9.1 |
| mtdowling/jmespath.phpPackagist | v < 2.9.1 | 2.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.