CVE-2026-45034
Təsvir
PhpSpreadsheet elektron cədvəl fayllarını oxumaq və yazmaq üçün təmiz PHP kitabxanasıdır. 1.30.5 versiyasından əvvəl CVE-2026-34084 File::prohibitWrappers köməkçisi tərəfindən yamaqlanmışdı. Köməkçi parse_url($filename, PHP_URL_SCHEME) funksiyasını çağırır və sonra phar://, php://, data:// və ya expect:// kimi axın sarğılarını rədd etmək üçün is_string($scheme) && strlen($scheme) > 1 yoxlamasını həyata keçirir. Bu yoxlama "yolda sarğı varmı" sualına ekvivalent deyil. Giriş phar:///path/file.phar/inner formasında olduqda, yəni sxemdən sonra üç və ya daha çox slash olduqda, parse_url sxem sətri əvəzinə boolean false qaytarır. Buna görə is_string($scheme) budağı atlanır, köməkçi heç bir xəta atmadan qayıdır və çağıran davam edir. Lakin PHP-nin axın qatı hələ də phar:///... yolunu etibarlı phar sarğısı kimi qəbul edir və əsas phar faylını açır. Nəticədə IOFactory::load($attackerPath) yamaqdan yan keçir və yenə də phar sarğısına toxunur. PHP 7.x-də phar sarğısına sadəcə is_file vasitəsilə çatmaq PHP-nin phar metadatasını avtomatik deserializasiya etməsi üçün kifayətdir ki, bu da öz növbəsində hücumçunun nəzarət etdiyi obyektin __wakeup və __destruct sehrli metodlarını çağırır və tam uzaqdan kodun icrası imkanı verir. PHP 8.x-də adi fayl əməliyyatları üçün avtomatik metadata deserializasiyası çıxarıldığından, PhpSpreadsheet qatındakı zəncir phar sarğısı ilə fayl oxuma primitivinə qədər azalır və uzaqdan kodun icrası yalnız aşağı axındakı istehlakçı nə vaxtsa Phar::getMetadata funksiyasını çağırdıqda yenidən meydana çıxır. Bu zəiflik 1.30.5 versiyasında düzəldilmişdir.
Necə düzəltmək olar
- phpoffice/phpspreadsheet1.30.5 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| phpoffice/phpspreadsheetPackagist | v < 1.30.5 | 1.30.5 |
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.