CVE-2026-82557
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Brak autoryzacji w Apache Wicket.
org.apache.wicket.markup.html.form.Form rozpoznaje komponent, który przesłał formularz, na podstawie parametrów żądania w Form#onRequest() i przekazuje wynik bezpośrednio do Form#onFormSubmitted(IFormSubmitter). Sprawdzanie, czy komponent wysyłający jest widoczny i włączony w swojej hierarchii, jest przeprowadzane tylko wtedy, gdy funkcja onFormSubmitted() nie ma podanego obiektu przesyłającego, więc nie jest już uruchamiana w przypadku zwykłego przesyłania formularza i jest to jedyny moment, w którym Wicket sprawdza, czy aplikacja faktycznie zaoferowała nazwaną kontrolę wywołującemu. Form#findSubmitter() dopasowuje samą nazwę parametru żądania i nie stosuje żadnego filtra widoczności ani włączania, a procedura obsługi żądania sprawdza tylko sam formularz, który jest widoczny i włączony. Żądanie podające nazwę przycisku przesyłania, który aplikacja wstrzymała, dociera zatem do funkcji onSubmit() i onAfterSubmit() tego przycisku oraz jego onError() w przypadku niepowodzenia sprawdzania poprawności formularza; gdzie przycisk ustawia setDefaultFormProcessing(false), osiąga onSubmit() i onAfterSubmit() bez sprawdzania poprawności formularza.
Na aplikację ma to wpływ, gdy komponent przesyłania formularza, taki jak przycisk lub SubmitLink, jest niedostępny dla obiektu wywołującego, podczas gdy otaczający formularz pozostaje dostępny. Sposób, w jaki komponent stał się niedostępny, nie ma znaczenia: własny setVisible(false), setEnabled(false) lub setVisibilityAllowed(false), przesłonięta funkcja isVisible() lub isEnabled(), niewidoczny lub wyłączony kontener nadrzędny w dowolnym miejscu nad nim oraz odmowa RENDER lub ENABLE z IAuthorizationStrategy — na przykład poprzez MetaDataRoleAuthorizationStrategy lub Adnotacja AuthorizeAction — wszystkie są wymuszane przez tę jedną kontrolę i wszystkie są pomijane. Komponent renderowany jako wyłączony ma własną nazwę wejściową w znacznikach, które obiekt wywołujący już posiada. Nie ma to wpływu na zgłoszenia dokonane za pośrednictwem AjaxFormSubmitBehavior, a zatem za pośrednictwem AjaxButton i AjaxSubmitLink: są one wywoływane jako zachowanie samego przycisku, wywołanie zachowania jest autoryzowane względem tego przycisku, a wywołania zwrotne tych dwóch klas inne niż Ajax nic nie dają. Ograniczenia zastosowane do formularza lub strony, a nie do komponentu przesyłającego, pozostają niezmienione.
Nie ma to wpływu na linie wersji 9.x i 8.x oraz nieobsługiwane linie przed nimi; zachowanie zostało wprowadzone w wersji 10.3.0.
Ten problem dotyczy Apache Wicket: od 10.3.0 do 10.11.0. Użytkownikom zaleca się aktualizację do wersji 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