CVE-2025-68156

Yüksək

Təsvir

Expr, Go üçün ifadə dili və ifadələrin qiymətləndirilməsi kitabxanasıdır. Versiya 1.17.7-dək olan versiyalarda Expr-dəki `flatten`, `min`, `max`, `mean` və `median` daxil olmaqla bir neçə daxili funksiya, maksimum rekursiya dərinliyini tətbiq etmədən istifadəçi tərəfindən təqdim edilmiş məlumat strukturları üzərində rekursiv keçid həyata keçirir. Əgər qiymətləndirmə mühiti dərin dərəcədə iç-içə və ya siklik məlumat strukturları ehtiva edirsə, bu funksiyalar Go runtime stek limitini aşana qədər sonsuz rekursiyaya girə bilər. Bu, stek daşmasına (stack overflow panic) səbəb olur və ev sahibi tətbiqin çökməsinə gətirib çıxarır. Eksploytasiya imkanı hücumçunun qiymətləndirmə mühitinə siklik və ya patoloji dərəcədə dərin məlumatları yerləşdirə və ya onlara təsir edə bilməsindən asılı olsa da, bu davranış xidmətdən imtina (DoS) riski təşkil edir və kitabxananın ümumi davamlılığına təsir göstərir. Bərpa edilə bilən qiymətləndirmə xətası qaytarmaq əvəzinə, proses gözlənilmədən dayana bilər. Təsirə məruz qalan versiyalarda, etibarsız və ya kifayət qədər yoxlanılmamış məlumat strukturları üzərində müəyyən daxili funksiyaları çağıran ifadələrin qiymətləndirilməsi stekin tükənməsi səbəbindən proses səviyyəsində çökməyə səbəb ola bilər. Bu problem daha çox Expr-in kənardan təmin edilən və ya dinamik şəkildə qurulmuş mühitlərə qarşı ifadələri qiymətləndirmək üçün istifadə edildiyi; massivlərə, xəritələrə (maps) və ya strukturlara (structs) siklik istinadların (birbaşa və ya dolayısı ilə) daxil edilə bildiyi və dərin iç-içə giriş məlumatlarının qarşısını alan tətbiq səviyyəli təhlükəsizlik tədbirlərinin olmadığı ssenarilərdə aktualdır. Nəzarət edilən, asiklik məlumatlarla işləyən tipik istifadə hallarında problem özünü büruzə verməyə bilər. Lakin mövcud olduqda, nəticədə yaranan panika tətbiqi etibarlı şəkildə çökdürmək üçün istifadə edilə bilər ki, bu da xidmətdən imtinanı təşkil edir. Problem Expr-in v1.17.7 versiyalarında düzəldilmişdir. Yamaq təsirə məruz qalan daxili funksiyalar üçün maksimum rekursiya dərinliyi limitini tətbiq edir. Bu limit aşıldıqda, qiymətləndirmə yumşaq şəkildə dayandırılır və panika yaratmaq əvəzinə təsviri xəta qaytarılır. Əlavə olaraq, maksimum dərinlik istifadəçilər tərəfindən `builtin.MaxDepth` vasitəsilə fərdiləşdirilə bilər ki, bu da legitim dərin strukturları olan tətbiqlərə limiti nəzarətli şəkildə artırmağa imkan verir. İstifadəçilərə həm rekursiya qorumasını, həm də reqressiyaların qarşısını almaq üçün geniş test əhatəsini ehtiva edən yamaqlı versiyaya keçid etməkləri şiddətlə tövsiyə olunur. Dərhal yeniləyə bilməyən istifadəçilər üçün bəzi yüngülləşdirici tədbirlər tövsiyə edilir: qiymətləndirmə mühitlərinin siklik istinadlar ehtiva etmədiyindən əmin olun, kənardan təmin edilən məlumat strukturlarını Expr-ə ötürməzdən əvvəl yoxlayın və ya təmizləyin və/və ya tam proses çökməsinin qarşısını almaq üçün (son çarə kimi müdafiə tədbiri olaraq) ifadənin qiymətləndirilməsini panic recovery ilə əhatə edin. Bu müvəqqəti həllər riski azaldır, lakin yamaq olmadan problemi tamamilə aradan qaldırmır.

CiddilikYüksək
CVSS7.5
İstismar ehtimalı—
MəhsulExpr
Dərc16 dek 2025
İlk görülmə16 dek 2025

Necə düzəltmək olar

Yeniləyin
  • expr-lang expr1.17.7 və ya daha yeni versiya
  • github.com/expr-lang/expr1.17.7 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
expr-lang exprv < 1.17.71.17.7
github.com/expr-lang/exprGov < 1.17.71.17.7

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.

Intelligence 360 paketində

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.

CVE-2025-68156 · Expr · Dark Radar