Брешь в инфраструктуре Python, позволявшая подменить ссылки на релизы на сайте python.org

Организация Python Software Foundation раскрыла информацию о критической уязвимости в API для управления релизами, которую можно было использовать для атаки на инфраструктуру проекта Python. Уязвимость позволяла обойти систему аутентификации и подключиться к API управления релизами с правами администратора через отправку запроса с любым ключом и указанием имени пользователя «admin».

Получаемые в случае успешной эксплуатации уязвимости права давали атакующему возможность внести изменения в ссылки на релизы Python и метаданные для поверки корректности загружаемых файлов, размещённые на странице python.org/downloads. При этом уязвимость не позволяла изменить содержимое имевшихся файлов с релизами.

Аудит базы данных и логов не выявил следов эксплуатации уязвимости. Также предполагается, что подмена ссылок на релизы не могла остаться незамеченной, так как многие поставщики при загрузке дополнительно используют систему криптографической верификации кода Sigstore и проверку с использованием PGP-ключей.

Уязвимость присутствовала в коде с 2014 года и была вызвана смешиванием в одном коде обработчиков для гостевых входов и аутентификации по ключам для API. В случае сбоя аутентификации по ключу доступа к API, в коде выполнялся откат на использование гостевого доступа.

Уязвимость была выявлена 23 февраля и устранена на следующий день, после чего было проведено несколько проверок целостности инфраструктуры: 25 февраля были проанализированы логи и резервные копии БД, все доступные для загрузки ресурсы были проверены с использованием цифровых подписей из лога Sigstore и PGP-ключей, собственными силами был проведён аудит кодовой базы используемых сервисов. 23 апреля кодовая база дополнительно была проверена при помощи AI-инструментов, а 1 июня для внешнего аудита инфраструктуры python.org и процессов формирования релизов Python была привлечена компания Trail of Bits.

Источник: http://www.opennet.ru/opennews/art.shtml?num=65786