CVE-2023-31038
Açıklama
Log4cxx'te günlük iletilerini bir veritabanına göndermek için ODBC appender kullanıldığında SQL enjeksiyonu oluşur. Veritabanına gönderilen hiçbir alan SQL enjeksiyonuna karşı düzgün şekilde kaçışlanmamıştı. Bu durum en azından 0.9.0 sürümünden (2003-08-06 tarihinde yayımlandı) beri mevcuttur. Log4cxx'in bir C++ çerçevesi olduğunu, dolayısıyla yalnızca C++ uygulamalarının etkilendiğini unutmayın. 1.1.0 sürümünden önce, kütüphane derlenirken kütüphane bulunursa ODBC appender otomatik olarak Log4cxx'in parçasıydı. 1.1.0 sürümünden itibaren, derlemeye dahil edilmesi için bunun açıkça etkinleştirilmesi gerekir. Bu güvenlik açığının mümkün olması için üç ön koşulun karşılanması gerekir: 1. Log4cxx'in ODBC desteğiyle derlenmiş olması (1.1.0 sürümünden önce bu, derleme zamanında otomatik olarak algılanıyordu) 2. Günlük iletilerinin gönderilmesi için ODBCAppender'ın etkinleştirilmiş olması, genellikle bir yapılandırma dosyası aracılığıyla yapılır 3. Bir noktada kullanıcı girdisinin günlüğe kaydedilmesi. Uygulamanızda kullanıcı girdisi yoksa etkilenme olasılığı düşüktür. Kullanıcıların, parametreleri SQL deyimine düzgün şekilde bağlayan 1.1.0 sürümüne yükseltmeleri veya diğer veritabanlarına ek olarak ODBC bağlantısını da destekleyen yeni DBAppender sınıfına geçmeleri önerilir. Bu düzeltmenin bir yapılandırma dosyası güncellemesi gerektirdiğini unutmayın, çünkü eski yapılandırma dosyaları düzgün şekilde yapılandırılmayacaktır. Aşağıda bir örnek gösterilmiştir ve daha fazla bilgi Log4cxx belgelerinin ODBCAppender bölümünde bulunabilir. Eski yapılandırma parçacığı örneği: <appender name="SqlODBCAppender" class="ODBCAppender"> <param name="sql" value="INSERT INTO logs (message) VALUES ('%m')" /> ... diğer parametreler burada ... </appender> Yeni ColumnMapping parametreleriyle geçirilmiş yapılandırma parçacığı: <appender name="SqlODBCAppender" class="ODBCAppender"> <param name="sql" value="INSERT INTO logs (message) VALUES (?)" /> <param name="ColumnMapping" value="message"/> ... diğer parametreler burada ... </appender>
Nasıl düzeltilir
- apache log4cxx1.1.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apache log4cxx | 0.9.0 ≤ v < 1.1.0 | 1.1.0 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.