CVE-2026-73194
Təsvir
Perl üçün DBI-ın 1.652-dən əvvəlki versiyaları, preparse prosesində binder sayğacını təyin edən yoxlanılmamış numeric placeholder vasitəsilə heap out-of-bounds write zəifliyinə yol açır. Preparse hər giriş baytı üçün yeddi çıxış baytı rezerv edir ki, bu da ən uzun ':p99999' genişlənməsinin enidir. ':N' budağı rəqəmi `atoi(src)` ilə analiz edir və heç bir diapazon yoxlaması olmadan onu binder sayğacına mənimsədir, buna görə də tərkibində ':2147483648' olan ifadə sayğacı mənfi edir (glibc-də atoi wrap olduqda -2147483648 olur). Bundan sonrakı hər bir '?' işarəsi `sprintf(start, ":p%d", idx++)` vasitəsilə ':p-2147483648'-ə genişlənir ki, bu da buferin ayırdığı 7 bayta qarşı sonlandırıcı NUL daxil olmaqla 14 baytdır. 1.650 versiyasında əlavə edilmiş placeholder limiti sayğacı 99,999-a qarşı yoxlayır və mənfi sayğac bu yoxlamadan uğurla keçir. Etibarsız ifadəni ':pN' stilində placeholder-lərə preparse edən hər hansı çağırıcı, zəhərlənmiş placeholder-dən sonra gələn '?' işarələrinin sayına mütənasib olaraq artan heap out-of-bounds write zəifliyi ilə üzləşir. '?' və '%s' geri qaytarma stilləri analiz edilmiş rəqəmi gözlənilən ardıcıllıqla müqayisə edir və xəta verir, ona görə də onlar təsir altında qalmırlar.
Necə düzəltmək olar
- DBI1.652 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| DBI | v < 1.652 | 1.652 |
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.