CVE-2026-84172
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Pliki dostępne dla stron zewnętrznych w Apache Wicket.
org.apache.wicket.markup.html.PackageResourceGuard decyduje, czy plik w ścieżce klasy może być przesyłany strumieniowo do klienta jako zasób pakietu. HTML znajduje się na domyślnej liście dozwolonych, więc jedyną rzeczą, która oddziela statyczny plik HTML, który może zostać wyświetlony, od szablonu znaczników komponentu, co nie musi, jest sprawdzenie, czy obok niego znajduje się plik klasy o tej samej nazwie. To sprawdzenie wywołuje funkcję getResource() w programie ładującym klasy, który załadował rdzeń furtki. Do samego zasobu można uzyskać dostęp za pośrednictwem różnych modułów ładujących klasy: klasa zasięgu jest rozpoznawana za pomocą funkcji IClassResolver aplikacji, która korzysta z modułu ładującego klasy kontekstu wątku, a funkcja org.apache.wicket.core.util.resource.ClassPathResourceFinder#find() następnie wypróbowuje własny moduł ładujący klasy zakresu, moduł ładujący klasy kontekstu i moduł ładujący z rdzeniem furtki.
Tam, gdzie wicket-core jest ładowany przez program ładujący klasy, który nie widzi klas aplikacji, kontrola nie znajduje pliku klasy, stwierdza, że plik nie jest szablonem znaczników komponentu i udostępnia go. Żądanie adresu URL zasobu pakietu klasy komponentu zwraca następnie szablon znaczników tego komponentu ze statusem 200. Ujawniana jest zawartość szablonu autorstwa programisty: struktura komponentu, komentarze programisty, znaczniki renderowane tylko pod pewnymi warunkami, skrypt wbudowany i punkty końcowe i nazwy szablonów. Dostęp jest tylko do odczytu i w ten sposób nie można uzyskać dostępu do żadnych danych użytkownika, poświadczeń ani materiałów sesyjnych.
Takie wdrożenie jest rzadkością. Zwykłe opakowanie, archiwum sieciowe z rdzeniem furtki w WEB-INF/lib, umieszcza framework i aplikację w jednym module ładującym klasy, więc sprawdzenie znajduje plik klasy, a szablon zostaje odrzucony; nie ma to wpływu na te wdrożenia. Narażenie ogranicza się do wdrożeń, które udostępniają firmie wicket-core moduł ładujący klasy, który nie widzi klas komponentów aplikacji: wicket-core jest umieszczony w katalogu bibliotek współdzielonych kontenera serwletów, w katalogu bibliotek archiwum przedsiębiorstwa z aplikacją w archiwum internetowym, jako moduł globalny serwera aplikacji lub jako pakiet OSGi, gdzie pakiet wicket-core nie jest w stanie rozpoznać klasy przechowywanej w pakiecie aplikacji. Znaczniki dostarczane przez własne moduły Wicket i każdy inny kod współdzielący moduł ładujący klasy z rdzeniem wicket pozostają chronione. Osoba atakująca musi nazwać klasę komponentu, a Wicket zapisuje w pełni kwalifikowane nazwy klas w adresie URL każdego renderowanego zasobu pakietu.
Ten problem dotyczy Apache Wicket: od 8.0.0 do 8.19.0, od 9.0.0 do 9.24.0, od 10.0.0 do 10.11.0. Użytkownicy Apache Wicket 7.x lub starszego, które nie są już obsługiwane, powinni dokonać aktualizacji do obsługiwanej wersji. Użytkownikom zaleca się aktualizację do wersji 8.20.0, 9.25.0 lub 10.12.0, która rozwiązuje problem.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org