CVE-2026-54500
Təsvir
Oj (Optimized JSON), Ruby gem kimi paketlənmiş bir JSON analizatoru və Obyekt marşalleriidir. 3.17.3 versiyasından əvvəlki versiyalarda, :object rejimində olan Oj.load, açarı 254 bayt və ya daha uzun olan JSON obyektini analiz edərkən başladılmamış stek yaddaşını oxuyur (və uzun açarlar üçün sərhədlərdən kənar oxuma aparır). İntern edilmiş baytlar çağırana ötürülə bilər ki, bu da prosesin stek yaddaşının ifşa olunmasına səbəb olur. ext/oj/intern.c faylında form_attr() funksiyası uzun açar yolunu heap buferi `b` ayırmaqla, onu atribut adı ilə doldurmaqla və sonra onu azad etməklə idarə edir — lakin o, rb_intern3() funksiyasına (b yox) başladılmamış stek buferi buf-ı ötürmüşdür. Buna görə də rb_intern3(), başladılmamış stek yaddaşının len + 1 baytını oxuyur. Açarın uzunluğu >= 256 olduqda, o, həmçinin 256 baytlıq buf-dan kənar oxuma aparır. Nəticədə alınan baytlar intern edilir və yaradılan Symbol vasitəsilə və ya yanlış UTF-8 zamanı ortaya çıxan EncodingError mesajı vasitəsilə çağırana çata bilir ki, bu da prosesin stek məzmununun sızmasına səbəb olur. Bu problem 3.17.3 versiyasında düzəldilmişdir.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| ohler55 oj | < 3.17.3 | — |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.