Организация Python Software Foundation раскрыла информацию о критической уязвимости в API для управления релизами, которую можно было использовать для атаки на инфраструктуру проекта Python. Уязвимость позволяла обойти систему аутентификации и подключиться к API управления релизами с правами администратора через отправку запроса с любым ключом и указанием одного из администраторов в поле с именем пользователя.
Получаемые в случае успешной эксплуатации уязвимости права давали атакующему возможность внести изменения в ссылки на релизы Python и метаданные для поверки корректности загружаемых файлов, размещённые на странице python.org/downloads. При этом уязвимость не позволяла изменить содержимое имевшихся файлов с релизами.
Аудит базы данных и логов не выявил следов эксплуатации уязвимости. Также предполагается, что подмена ссылок на релизы не могла остаться незамеченной, так как многие поставщики при загрузке дополнительно используют систему криптографической верификации кода Sigstore и проверку с использованием PGP-ключей.
Уязвимость присутствовала в коде с 2014 года и была вызвана смешиванием в одном коде обработчиков для гостевых входов и аутентификации по ключам для API. В случае сбоя аутентификации по ключу доступа к API, в коде выполнялся откат на использование гостевого доступа.
Уязвимость была выявлена 23 февраля и устранена на следующий день, после чего было проведено несколько проверок целостности инфраструктуры: 25 февраля были проанализированы логи и резервные копии БД, все доступные для загрузки ресурсы были проверены с использованием цифровых подписей из лога Sigstore и PGP-ключей, собственными силами был проведён аудит кодовой базы используемых сервисов. 23 апреля кодовая база дополнительно была проверена при помощи AI-инструментов, а 1 июня для внешнего аудита инфраструктуры python.org и процессов формирования релизов Python была привлечена компания Trail of Bits.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65786




