CVE-2026-71257
Açıklama
Apache Wicket, Apache Commons FileUpload ile bir multipart isteğini ayrıştırırken bir form veya yükleme alanı üzerinde yapılandırılan yükleme sınırlarını uygular. İstek gövdesi başka bir bileşen tarafından zaten tüketilmişse, Commons FileUpload hiçbir öğe döndürmez ve Wicket, yüklemeyi HttpServletRequest#getParts() aracılığıyla okumaya geri döner. Bu şekilde elde edilen parçalara dosya başına boyut sınırı (örneğin Form#setFileMaxSize) ve dosya sayısı sınırı (Form#setFileCountMax) uygulanmaz ve herhangi bir istisna oluşturulmaz; bu nedenle yükleme, söz konusu sınırlar karşılanmış gibi işlenir. Dolayısıyla, uzaktaki bir yükleyici, uygulamanın izin verdiğinden daha büyük veya daha fazla sayıda dosyayı, isteği ayrıştıran bileşenin izin verdiği sınırlara kadar gönderebilir. Content-Type başlığı taşımayan bir parça, ayrıştırma sırasında ek olarak tamamen belleğe okunur, böylece bu tahsisatın boyutu istek tarafından belirlenir ve yalnızca aynı harici sınırlar tarafından kısıtlanır. Toplam yükleme boyutu sınırı (Form#setMaxSize) bundan etkilenmez. Commons FileUpload, gövdeyi okumadan önce beyan edilen Content-Length değerini bununla karşılaştırır, dolayısıyla aşırı uzunluk beyan eden bir istek, geri dönüş mekanizmasına ulaşılmadan reddedilir. Geri dönüş mekanizmasına, bir servlet veya filtrenin istek gövdesini önceden ayrıştırdığı dağıtımlarda ulaşılır; örneğin @MultipartConfig ile işaretlenmiş bir servlet, Spring Boot'un multipart çözücüsü veya multipart bir istek üzerinde HttpServletRequest#getParameter() fonksiyonunu çağıran herhangi bir filtre. Bu durum, FileUploadField içeren Form, FileUploadToResourceField ve AjaxFileDropBehavior dahil olmak üzere o yolda yüklemeleri kabul eden Wicket bileşenleri için geçerlidir. Ne dosya başına ne de dosya sayısı sınırı yapılandırmış olan uygulamalar etkilenmez, çünkü Wicket varsayılan olarak hiçbirini uygulamaz. Bu sorun şu Apache Wicket sürümlerini etkilemektedir: 8.0.0'dan 8.18.0'a kadar, 9.0.0'dan 9.23.0'a kadar, 10.0.0'dan 10.10.0'a kadar. Kullanıcıların sorunu gideren 8.19.0, 9.24.0 veya 10.11.0 sürümlerine yükseltmeleri önerilir. Artık desteklenmeyen Apache Wicket 7.x veya daha eski sürümleri kullananlar, desteklenen bir sürüme yükseltmelidir. Geçici bir çözüm olarak, isteği ayrıştıran bileşende eşdeğer sınırlar yapılandırın; örneğin spring.servlet.multipart.max-file-size ve max-request-size veya @MultipartConfig içindeki ya da web.xml <multipart-config> öğesindeki maxFileSize ve maxRequestSize.
Nasıl düzeltilir
- apache wicket8.19.0, 9.24.0, 10.11.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apache wicket | 8.0.0 ≤ v < 8.19.0, 9.0.0 ≤ v < 9.24.0, 10.0.0 ≤ v < 10.11.0 | 8.19.0, 9.24.0, 10.11.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.