Gradio — это пакет Python с открытым исходным кодом, предназначенный для быстрого прототипирования. До версии 6.6.0 функция _redirect_to_target() в потоке OAuth Gradio принимала непроверенный параметр запроса _target_url, позволяя перенаправлять на произвольные внешние URL-адреса. Это влияет на конечные точки /logout и /login/callback в приложениях Gradio с включенным OAuth (т. е. приложениях, работающих в Hugging Face Spaces с gr.LoginButton).
Начиная с версии 6.6.0, параметр _target_url очищается и теперь использует только путь, запрос и фрагмент, удаляя любую схему или хост.
Показать оригинальное описание (EN)
Gradio is an open-source Python package designed for quick prototyping. Prior to version 6.6.0, the _redirect_to_target() function in Gradio's OAuth flow accepts an unvalidated _target_url query parameter, allowing redirection to arbitrary external URLs. This affects the /logout and /login/callback endpoints on Gradio apps with OAuth enabled (i.e. apps running on Hugging Face Spaces with gr.LoginButton). Starting in version 6.6.0, the _target_url parameter is sanitized to only use the path, query, and fragment, stripping any scheme or host.
Характеристики атаки
Последствия
Строка CVSS v3.1