CVE-2026-83559
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Niewłaściwe kodowanie lub ucieczka danych wyjściowych w Apache Wicket.
org.apache.wicket.core.util.string.JavaScriptUtils#escapeQuotes() zastępuje każdy pojedynczy cudzysłów w danych wejściowych ukośnikiem odwrotnym i pojedynczym cudzysłowem, a każdy podwójny cudzysłów ukośnikiem odwrotnym i podwójnym cudzysłowem, dzięki czemu wartość można umieścić wewnątrz literału ciągu JavaScript. Nie unika ukośnika odwrotnego, czyli znaku, przed którym należy uciec, i należy uciec jako pierwszy, aby pozostała część ucieczki została zachowana. Wartość, która już zawiera ukośnik odwrotny bezpośrednio przed cudzysłowem, kończy się zatem dwoma ukośnikami odwrotnymi przed tym cudzysłowem: pierwszy wymyka się drugiemu, sam cudzysłów pozostaje bez zmiany znaczenia i zamyka literał. Jakakolwiek wartość niesie się za tym punktem, nie jest to już tekst, ale JavaScript i działa w źródle aplikacji oraz w sesji użytkownika przeglądającego stronę. Metoda jest publiczna, nie jest przestarzała, a jej dokumentacja stwierdza, że jej wynik może być częścią wywołania JavaScript, takiego jak alert; jedyne ograniczenie, jakie zauważa, dotyczy wartości JSON, które wymagają innej zmiany znaczenia.
Aplikacja ma na to wpływ wszędzie tam, gdzie wywołuje samą metodę i umieszcza wynik w literale ciągu JavaScript, z własnego kodu lub z komponentu własnego lub strony trzeciej, a wartość, której ucieka, przechowuje dane, na które atakujący może mieć wpływ. Nie ma dalszych warunków i nie trzeba angażować żadnego komponentu Wicket: aplikacja używa metody zgodnie z tym, co oferuje jej dokumentacja, a metoda tego nie zapewnia.
Dwa komponenty dostarczane z rozszerzeniami Wicket przekazują wartość przez tę metodę. org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel zapisuje pierwszy komunikat z informacją o błędzie edytora w literale ciągu JavaScript ujętym w pojedynczy cudzysłów w odpowiedzi Ajax, zatem wpływ na aplikację ma ten komponent, w którym komunikat pokazywany w przypadku nieudanej edycji zawiera dane, na które atakujący może mieć wpływ, niezależnie od tego, czy jest to sama przesłana wartość, czy inna zmienna, którą aplikacja ustawia na podstawie błędu sprawdzania poprawności. Komunikat weryfikacyjny może zawierać przesłaną wartość, ponieważ dane wejściowe to zmienna komunikatu, którą każdy komponent formularza dostarcza w przypadku własnych błędów sprawdzania poprawności, a dokumentacja pokazuje zastąpienie komunikatu modułu sprawdzania poprawności w celu jego uwzględnienia; żaden z pakietów komunikatów dostarczonych z Wicket nie interpoluje tego, zatem komponent ten nie ma wpływu na aplikację, która nie napisała takiego komunikatu. org.apache.wicket.extensions.ajax.markup.html.repeater.AjaxListPanel przekazuje serializowany znacznik znaczników dołączonego komponentu przez metodę i nie ma na to wpływu: znacznik pochodzi z własnego pliku znaczników panelu, a cudzysłów w dowolnej wartości atrybutu, łącznie z identyfikatorem znacznika komponentu, jest zapisywany jako odniesienie do znaku przez serializację znacznika i nie może zamknąć literału.
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