CVE-2026-86829
NieznaneStreszczenie
Scheduler Apache Airflow w pełni deserializuje wartości XCom zapisane przez kod zadania podczas oceny zależności zadań. Autor DAG-a kontrolujący zawartość XCom może więc wpływać na dane deserializowane w procesie schedulera, wykraczając poza udokumentowane uprawnienia.
Ocena ryzyka
Autor DAG-a może wykonać kod w kontekście schedulera, co narusza model bezpieczeństwa wdrożeń traktujących autorów DAG-ów jako mniej zaufanych.
Rekomendacja
Zaktualizuj apache-airflow do wersji 3.4.0 lub nowszej, która ogranicza ocenę zależności do prymitywnych wartości XCom.
Inne podatności w Apache Airflow
Zobacz wszystkie- CVE-2026-96285Nieznane
Apache Airflow 3.3.1 zawiera niekompletną poprawkę CVE-2026-67260 — sprawdzenie typu wartości next_kwargs wykonywane jest dopiero po deserializacji całego ładunku, co pozwala na uruchomienie konstruktorów dozwolonych klas w procesie schedulera. Autor DAG-a może wywołać wykonanie kodu w schedulerze i serwerze API bez niestandardowej konfiguracji; wersje przed 3.3.0 nie są podatne.
- CVE-2026-86468Nieznane
CLI Apache Airflow zapisuje argumenty w logu audytowym, ale maskuje sekrety według pozycji argumentu, przez co niektóre obsługiwane formy poleceń pozostawiają sekrety w postaci jawnej, np. końcowe `--description` w poleceniach Variable, `--conn-extra` oraz wbudowane `--password` w poleceniach `airflow keycloak-auth-manager`. Użytkownik, który może czytać zdarzenia audytowe, ale nie ma dostępu do Variable i Connection, może odczytać te wartości przez API dziennika zdarzeń.
- CVE-2026-82337Nieznane
Apache Airflow odtwarzał pola alertów terminów (deadline alerts) przez ogólną deserializację, która importuje i tworzy instancje klasy wskazanej w serializowanym Dagu, w procesach schedulera i serwera API. Autor Daga mógł spowodować utworzenie klas z listy dozwolonych Airflow z kontrolowanymi przez siebie argumentami. Dotyczy to wdrożeń, których Dagi używają deadline alerts; to niekompletna poprawka CVE-2026-45360, która zabezpieczyła tylko pole reference.
- CVE-2026-76185Nieznane
Pamięć podręczna sekretów w Task SDK Apache Airflow budowała klucze z nazwy zespołu i identyfikatora sekretu z nieescapowanym separatorem _, co mogło powodować kolizje różnych par (zespół, identyfikator sekretu). W środowiskach wielozespołowych autor Daga mógł odczytać wartość Variable lub Connection innego zespołu, tworząc kolidujący identyfikator sekretu. Dotyczy to tylko wdrożeń z jednocześnie włączonymi core.multi_team = True i secrets.use_cache = True.
- CVE-2026-68982Nieznane
CeleryExecutor w Apache Airflow uruchamiał zadania callback (ExecuteCallback, używane dla callbacków deadline-alert) bez walidacji tokenu uwierzytelniania zadania. Każdy mogący zapisywać do brokera Celery mógł zakolejkować sfałszowany callback i wykonać dowolny kod na każdym workerze CeleryExecutor bez poświadczeń Airflow. Dotyczy to wdrożeń używających CeleryExecutor.
- CVE-2026-50204Nieznane
Log audytowy Apache Airflow przechowywał wartości sekretów Connection i Variable w postaci jawnej w kolumnie `Log.extra`, ponieważ masker sekretów dopasowywał tylko skonfigurowane nazwy kluczy wrażliwych. Uwierzytelniony użytkownik z niskimi uprawnieniami i dostępem do odczytu API dziennika zdarzeń/audytu — bez wcześniejszego dostępu do danego połączenia lub zmiennej — mógł odczytać te wiersze i odzyskać poświadczenia dosłownie.
- CVE-2026-40913Nieznane
Publiczne API Import Errors w Apache Airflow zwracało surowy stos wywołań błędu parsowania każdemu użytkownikowi z uprawnieniem ImportError.can_read, gdy plik powodujący błąd nie miał zarejestrowanego Daga. Ma to miejsce, gdy plik nie parsuje się przed zdefiniowaniem Daga lub gdy wszystkie wcześniej zarejestrowane Dagi zostały usunięte, a błąd parsowania pozostaje. Użytkownicy, którzy nie powinni widzieć szczegółów pliku, mogą odczytać stosy wywołań ujawniające ścieżki plików i kod.
- CVE-2026-113508Nieznane
Endpoint wylogowania Apache Airflow próbował unieważnić przedstawiony token po stronie serwera, ale każdy błąd unieważniania był po cichu ignorowany, a wylogowanie nadal zgłaszało sukces. Gdy menedżer uwierzytelniania przekierowuje wylogowanie do zewnętrznego URL (np. FAB lub Keycloak), unieważnienie po stronie serwera jest jedynym mechanizmem unieważniającym token Airflow; zawodziło ono przy błędach bazy danych oraz niezawodnie dla tokenów zewnętrznego wystawcy akceptowanych przez [api_auth] trusted_jwks_url, których identyfikator tokenu jest dłuższy niż 32 znaki. Każdy posiadający kopię tokenu użytkownika sprzed wylogowania mógł go nadal używać wobec API Airflow do wygaśnięcia.
- CVE-2026-113504Nieznane
Masker sekretów Apache Airflow przestawał zagłębiać się w struktury zagnieżdżone po pięciu poziomach, więc sekret zarejestrowany w maskerze — np. hasło Connection lub wartość Variable — który pojawiał się głębiej niż pięć kontenerów pod kluczami niewrażliwymi, był wyświetlany w postaci jawnej w logach zadań i renderowanych polach szablonów. Użytkownik, który może czytać logi zadań lub renderowane szablony, ale nie powinien widzieć tych sekretów, mógł je odczytać.
- CVE-2026-111455Nieznane
Asynchroniczny test połączenia w Apache Airflow sprawdzał uprawnienia w momencie kolejkowania testu (tylko uprawnienie create, gdy identyfikator połączenia jeszcze nie istniał), ale po zakończeniu testu z commit_on_success zapisywał testowane połączenie pod tym identyfikatorem. Użytkownik uprawniony do tworzenia, ale nie do edycji połączeń, mógł nadpisać połączenie utworzone w międzyczasie przez kogoś innego. Dotyczy to tylko wdrożeń z włączonym niedomyślnym ustawieniem [core] test_connection.
Oryginalny opis (angielski, źródło NVD)
Apache Airflow's scheduler fully deserializes XCom values written by task code while evaluating task dependencies. A Dag author, who controls what a task writes to XCom, therefore controls data that is deserialized inside the scheduler process - a context the Airflow security model reserves for code installed by the Deployment Manager, above the worker-scoped execution capability a Dag author is documented to have. Deployments that treat Dag authors as less trusted than Deployment Managers are affected, and the scheduler must be evaluating a task dependency that reads a task-written XCom value. Users of apache-airflow are recommended to upgrade to version 3.4.0 or later, which restricts dependency evaluation to primitive XCom values.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

