Błąd w metodzie `BaseSerialization.deserialize()` w Apache Airflow umożliwia autorowi DAG osadzenie złośliwego triggera, który prowadzi do zdalnego wykonania kodu (RCE) na procesie API Server lub Scheduler. Podatność przełamuje kluczową granicę bezpieczeństwa Airflow, zgodnie z którą kod autora DAG nigdy nie powinien być wykonywany w tych procesach.
▸ Pokaż oryginał (EN)
A bug in `BaseSerialization.deserialize()` allowed unrestricted `import_string()` of attacker-controlled class paths when the Scheduler / API Server loaded a serialized DAG: a DAG author could embed a malicious trigger into a DAG to gain remote code execution on the API Server / Scheduler process, crossing the Airflow security boundary that DAG-author code must never execute in those processes. Users are advised to upgrade to `apache-airflow` 3.3.0 or later. As a defense-in-depth mitigation, deployments where DAG-author trust is limited can restrict the `[core] allowed_deserialization_classes` config to a narrow allowlist.
Podatna metoda `BaseSerialization.deserialize()` wykonuje niekontrolowane wywołanie `import_string()` na ścieżkach klas dostarczonych przez atakującego. Gdy Scheduler lub API Server ładuje zserializowany DAG, atakujący będący autorem DAG może osadzić w nim złośliwy trigger zawierający ścieżkę do dowolnej klasy. Brak walidacji dozwolonych klas podczas deserializacji powoduje załadowanie i wykonanie kodu kontrolowanego przez atakującego w uprzywilejowanym kontekście procesu Scheduler/API Server.
Atakujący będący autorem DAG może uzyskać zdalne wykonanie kodu (RCE) na procesie API Server lub Scheduler, co może prowadzić do pełnego przejęcia kontroli nad infrastrukturą Airflow, wycieku danych oraz naruszenia integralności i dostępności systemu.
Należy zaktualizować Apache Airflow do wersji 3.3.0 lub nowszej. Jako uzupełniające zabezpieczenie (defense-in-depth) w środowiskach, gdzie zaufanie do autorów DAG jest ograniczone, zaleca się zawężenie parametru konfiguracyjnego `[core] allowed_deserialization_classes` do ścisłej listy dozwolonych klas.
Apache Airflow w wersjach wcześniejszych niż 3.3.0
Podatność dotyczy wyłącznie środowisk, w których autorzy DAG nie są w pełni zaufani. Opublikowano dwa pull requesty naprawcze: #66002 oraz #68528. Informacja o podatności została ogłoszona 7 lipca 2026 r. za pośrednictwem listy mailingowej oss-security.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Airflow
APPApache< 3.3.0
Powiązane podatności
Apache Airflow — brak uwierzytelnienia w Experimental API umożliwia RCE
Apache Airflow: command injection przez niebezpieczny wzorzec w dokumentacji BashOperator
Apache Airflow: brak unieważnienia tokenu JWT po wylogowaniu
Apache Airflow Providers FAB — nieprawidłowe wygasanie sesji (CWE-613)
Apache Airflow – błąd przełączania kontekstu uprawnień przed wersją 2.6.0