Od self-XSS, przez AI, do przejęcia tenanta
Podczas audytu pewnej multi-tenantowej aplikacji natrafiłem na interesujący chain prowadzący do przejęcia tenanta. Zaczęło się niepozornie - od self-XSS’a w rich-text edytorze. Exploitacja wymagałaby, aby użytkownik sam wstawił niebezpieczny element do edytora z poziomu jego API, co dawało minimalne prawdopodobieństwo sukcesu. Mimo to postanowiłem zbadać aplikację głębiej i poszukać funkcjonalności, które pomogłyby eskalować tę podatność i zmniejszyłyby złożoność exploitacji. Z pomocą przyszedł asystent AI, zaimplementowany w celu wspierania support agentów i poprawiania ich produktywności. Dzięki prompt injection byłem w stanie załadować niebezpieczny markup do rich-text edytora i eskalować XSS’a do pełnego przejęcia tenanta. A to wszystko za sprawą funkcji “Summarize” asystenta AI i sprytnej obfuskacji payloadu prompt injection. ...