Wstrzyknięcie XXE
Wstrzyknięcie XML External Entity — podatność, w której parser XML daje się nakłonić do przetworzenia podrzuconych przez atakującego zewnętrznych encji, co pozwala czytać lokalne pliki, wykonywać SSRF lub wywołać DoS. Powstaje, gdy parser domyślnie dopuszcza niebezpieczne funkcje XML-a.
Mechanizm: XML obsługuje „encje”, które mogą odwoływać się do zewnętrznej treści. Atakujący, który może wysłać XML do podatnego parsera, definiuje zewnętrzną encję wskazującą na przykład na file:///etc/passwd albo wewnętrzny adres URL → gdy parser rozwija encję, czyta plik lub wykonuje żądanie i zwraca treść w odpowiedzi. Skutki: odczyt wrażliwych plików (hasła, konfiguracja, klucze), SSRF (serwer odpytuje usługi wewnętrzne lub metadane chmury) oraz DoS typu „billion laughs” (rekurencyjne encje pochłaniają pamięć). Przyczyna: w wielu bibliotekach XML przetwarzanie zewnętrznych encji było WŁĄCZONE domyślnie. Obrona: wyłączyć DTD i zewnętrzne encje w parserze (proste i ostateczne lekarstwo), używać prostszego formatu (JSON) tam, gdzie to możliwe, oraz walidować dane wejściowe. Klasyczna podatność z OWASP Top 10. Spokrewniona z SSRF i niebezpieczną deserializacją.