CVE-2023-31038
Təsvir
Log4cxx-də SQL inyeksiyası, jurnal mesajlarını verilənlər bazasına göndərmək üçün ODBC appender istifadə edildikdə. Verilənlər bazasına göndərilən heç bir sahə SQL inyeksiyasına qarşı düzgün şəkildə ekranlaşdırılmayıb. Bu, ən azı 0.9.0 versiyasından (2003-08-06 tarixində buraxılıb) belə olub. Qeyd edək ki, Log4cxx C++ freymvorkudur, buna görə yalnız C++ tətbiqləri təsirlənir. 1.1.0 versiyasından əvvəl, kitabxana kompilyasiya edilərkən tapılarsa, ODBC appender avtomatik olaraq Log4cxx-in tərkib hissəsi idi. 1.1.0 versiyasından etibarən, kompilyasiyaya daxil edilməsi üçün bu açıq şəkildə aktivləşdirilməlidir. Bu zəifliyin mümkün olması üçün üç ilkin şərt yerinə yetirilməlidir: 1. Log4cxx ODBC dəstəyi ilə kompilyasiya edilib (1.1.0 versiyasından əvvəl bu, kompilyasiya zamanı avtomatik aşkar edilirdi) 2. Jurnal mesajlarının göndərilməsi üçün ODBCAppender aktivləşdirilib, bu adətən konfiqurasiya faylı vasitəsilə edilir 3. İstifadəçi girişi müəyyən bir nöqtədə jurnala yazılır. Əgər tətbiqinizdə istifadəçi girişi yoxdursa, təsirlənmə ehtimalı azdır. İstifadəçilərə parametrləri SQL bəyanatına düzgün bağlayan 1.1.0 versiyasına yüksəltmə və ya digər verilənlər bazaları ilə yanaşı ODBC bağlantısını da dəstəkləyən yeni DBAppender sinfinə keçmə tövsiyə olunur. Qeyd edək ki, bu düzəliş konfiqurasiya faylının yenilənməsini tələb edir, çünki köhnə konfiqurasiya faylları düzgün konfiqurasiya olunmayacaq. Nümunə aşağıda göstərilmişdir və əlavə məlumatı Log4cxx sənədləşməsində ODBCAppender haqqında tapa bilərsiniz. Köhnə konfiqurasiya fraqmenti nümunəsi: <appender name="SqlODBCAppender" class="ODBCAppender"> <param name="sql" value="INSERT INTO logs (message) VALUES ('%m')" /> ... other params here ... </appender> Yeni ColumnMapping parametrləri ilə köçürülmüş konfiqurasiya fraqmenti: <appender name="SqlODBCAppender" class="ODBCAppender"> <param name="sql" value="INSERT INTO logs (message) VALUES (?)" /> <param name="ColumnMapping" value="message"/> ... other params here ... </appender>
Necə düzəltmək olar
- apache log4cxx1.1.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| apache log4cxx | 0.9.0 ≤ v < 1.1.0 | 1.1.0 |
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.