Разработчики платформы оркестрации рабочих процессов Apache Airflow раскрыли серьезную проблему безопасности, обозначенную как CVE-2025-54831. Уязвимость позволяет пользователям, обладающим только правами на чтение, просматривать чувствительные детали подключений, такие как пароли и ключи доступа, через интерфейс прикладного программирования (API) и веб-интерфейс Airflow. Данная недоработка, присутствующая в версии 3.0.3, нарушает заявленную политику «только для записи» в отношении секретов, хранящихся в объектах Connections, и может привести к несанкционированному доступу к учетным данным и другой конфигурационной информации.
Детали уязвимости
Apache Airflow представляет собой популярную открытую платформу для оркестрации сложных конвейеров данных, широко используемую для их планирования и мониторинга. С выходом мажорного обновления 3.0.0 проект внедрил более строгую модель безопасности для обработки конфиденциальной информации в объектах Connection. Согласно этой модели, такие поля, как пароли, токены и закрытые ключи, должны были по умолчанию маскироваться и отображаться только пользователям, имеющим явные права на изменение подключений. Пользователи с правами только на чтение должны были иметь доступ исключительно к нечувствительной метаинформации.
Однако ошибка реализации, допущенная в версии 3.0.3, непреднамеренно предоставила пользователям с правами чтения возможность получать полные значения секретных данных. Проблема была публично сообщена на рассылке для разработчиков участником сообщества Каксилом Наиком 25 сентября 2025 года и впоследствии получила идентификатор CVE-2025-54831 с оценкой серьезности «Важная».
Суть уязвимости заключается в том, что как конечная точка API для получения деталей подключения, так и соответствующий интерфейс в веб-панели управления игнорируют конфигурационную настройку AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS. Когда этот флаг активирован, система должна скрывать в ответах и отображении такие поля, как пароль, хост, порт и пользовательские дополнительные данные. Вместо этого пользователь с правами чтения может выполнить простой HTTP GET запрос к адресу /api/v1/connections/{connection_id} или перейти на страницу деталей подключения в веб-интерфейсе, чтобы увидеть эти данные в открытом тексте.
Под угрозой раскрытия оказываются критически важные элементы, включая, но не ограничиваясь: учетные данные баз данных, ключи доступа к облачным провайдерам, закрытые SSH-ключи, а также данные в поле Extra JSON, которые могут содержать API-токены или другие секреты. Поскольку объекты Connections в Airflow часто используются для хранения учетных данных сервисных аккаунтов с высокими привилегиями, несанкционированный доступ к ним на чтение представляет значительный риск. Злоумышленник или внутренний нарушитель, обладающий ролью с правами только на чтение, может скопировать ключи сервисных аккаунтов, облачные учетные данные или ключи шифрования, что потенциально ведет к компрометации зависимых рабочих нагрузок, хранилищ данных или даже целых облачных сред.
Хотя сама уязвимость не позволяет вносить изменения или выполнять удаленный код, раскрытие учетных данных может облегчить перемещение злоумышленника внутри сети, повышение привилегий и несанкционированный вынос данных из компрометированной среды. Обнаруженные ключи могут быть использованы для проникновения в производственные базы данных, облачные сервисы и хранилища секретов, при этом подобные действия могут не оставлять четких следов в стандартных журналах аудита, предназначенных для отслеживания неправомерного использования учетных данных. Особому риску подвержены организации, которые внедрили строгий ролевой доступ в Airflow и предоставили права на чтение широкому кругу пользователей. Командам, использующим общие или самостоятельно развернутые инсталляции Airflow в многопользовательских средах, следует рассматривать эту уязвимость как критический провал в гарантиях конфиденциальности платформы.
Затронутой является исключительно версия Apache Airflow 3.0.3. Релизы ветки 2.x остаются незатронутыми, поскольку в них не была реализована новая модель маскирования данных, и в них секреты подключений по задумке всегда были видны пользователям с правами редактирования.
Проект Apache Airflow устранил проблему в версии 3.0.4, восстановив корректное поведение маскирования для режима «только для записи» и обеспечив соблюдение конфигурационной настройки AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS. Всем пользователям Airflow 3.0.3 настоятельно рекомендуется немедленно выполнить обновление с помощью команды установки через менеджер пакетов pip. Операторам, которые не могут применить обновление незамедлительно, доступно временное решение. Оно заключается в развертывании прокси-сервера или шлюза API перед веб-сервером Airflow. Такой прокси должен фильтровать или маскировать чувствительные поля JSON в ответах от конечных точек /api/v1/connections/*. Дополнительно необходимо убедиться, что в конфигурации Airflow установлена соответствующая переменная окружения. Тем не менее, даже с активированным флагом, полное обновление до версии 3.0.4 остается единственным гарантированным исправлением.
Инцидент с CVE-2025-54831 в очередной раз подчеркивает сложность обеспечения безопасности секретов в платформах оркестрации рабочих процессов. По мере роста популярности Airflow среди команд по работе с данными, сохранение конфиденциальности сервисных учетных данных становится первостепенной задачей. Администраторам следует оперативно обновиться до Airflow 3.0.4, провести аудит политик ролевого доступа и выполнить проверку всех зависимых систем, доступ к которым осуществляется через скомпрометированные подключения, чтобы минимизировать потенциальный ущерб. Бдительность и своевременное применение исправлений остаются лучшей защитой от подобных утечек конфиденциальной информации.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2025-54831
- https://lists.apache.org/thread/jg3jo9lx397f71ojbcy9kd60vm3gpn0n
- https://lists.apache.org/thread/vblmfqtydrp5zgn2q8tj3slk5podxspf