Ce mail provient de l'extérieur, restons vigilants

=====================================================================


                            CERT-Renater

                Note d'Information No. 2026/VULN1126
_____________________________________________________________________

DATE                : 10/11/2026

HARDWARE PLATFORM(S): /

OPERATING SYSTEM(S): Systems running Apache Airflow versions prior
                                        to 3.4.0.

====================================================================
https://lists.apache.org/thread.html/wczyc0gyz1zc96o0fsvt55mowyqmz5fd
https://lists.apache.org/thread.html/ddclnzov0jth7gmprrb804kwmggcny9j
https://lists.apache.org/thread.html/1j3gcksgjm2g01nq85ckvrcyygx2hjzx
https://lists.apache.org/thread.html/9td1c70on6gcs5hn3q4zo6qbt79ng50d
https://lists.apache.org/thread.html/9pcjt268j7yb2mp77pwghjrf63r6tybf
https://lists.apache.org/thread.html/qxooc5sdzlysvjmjdr098t8co795j2ns
https://lists.apache.org/thread.html/4gfhmpop4h82vphw7h620mlt855okdb5
https://lists.apache.org/thread.html/20x7yl8khd7yyjvkt3hqtwx903151gbp
https://lists.apache.org/thread.html/r3x6cmh6pjjy22jw07zyjkvbgwdpncw6
https://lists.apache.org/thread.html/vm0vnw12oy6wjjz2b58h4v0lwjftyz33
https://lists.apache.org/thread.html/8hm4flbo7hjbxtw055vt5vbd1p46krot
https://lists.apache.org/thread.html/zzr4vhss54chmxloj82v7dtooyw5k3rb
https://lists.apache.org/thread.html/j76t0601rpnrklopzwrkz6t85bpxo4ns
https://lists.apache.org/thread.html/0kfb722qvmj763c294ky23mbm35h25g3
https://lists.apache.org/thread.html/wqlpx4l2v8hcpstkqbf2b4147zqprcc7
_____________________________________________________________________

CVE-2026-107474: Apache Airflow: Connections API: apprise connection
"config" extra returned in cleartext

Severity: important 

Affected versions:

- Apache Airflow before 3.4.0

Description:

The Apache Airflow connections API did not mask the apprise
provider's `config` connection extra, which can embed
notification-service credentials. A user with permission to read
connections could retrieve it in cleartext, although Airflow 3
treats connection credentials as write-only.

Users are advised to upgrade to apache-airflow 3.4.0 or later.

Credit:

JelyFishhhhhh (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/73794
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-107474

_____________________________________________________________________

CVE-2026-86829: Apache Airflow: Deserialization of task-controlled
XCom values in the Scheduler during dependency evaluation

Severity: important 

Affected versions:

- Apache Airflow before 3.4.0

Description:

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.

Credit:

Claude Security Scans (tool)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/72718
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-86829

_____________________________________________________________________

CVE-2026-76185: Apache Airflow Task SDK: Task SDK SecretCache:
non-injective team cache key enables cross-team secret disclosure in
multi-team mode

Severity: important 

Affected versions:

- Apache Airflow Task SDK 1.2.0 before 1.4.0

Description:

Apache Airflow's Task SDK secret cache built its keys from the team
name and secret id with unescaped `_` delimiters, so different
(team, secret id) pairs could collide. In multi-team deployments a
Dag author could read another team's Variable or Connection value by
crafting a colliding secret id. Only deployments with both
`core.multi_team = True` and `secrets.use_cache = True` are affected.

Users are advised to upgrade to apache-airflow 3.4.0 or later.
Deployments that cannot upgrade can set `secrets.use_cache = False`.

Credit:

Nurmuhammad Davronbekov (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/72201
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-76185

_____________________________________________________________________

CVE-2026-68982: Apache Airflow: CeleryExecutor: forged callback
workloads run on Celery workers without workload-token validation

Severity: important 

Affected versions:

- Apache Airflow before 3.4.0

Description:

Apache Airflow's CeleryExecutor ran callback workloads
(`ExecuteCallback`, used for deadline-alert callbacks) without
validating the workload's authentication token. Anyone able to write to
the Celery broker could enqueue a forged callback and execute arbitrary
code on every CeleryExecutor worker, without Airflow credentials.
Deployments using the CeleryExecutor are affected.

Users are advised to upgrade to apache-airflow 3.4.0 or later, in which
the worker claims the callback through the Execution API, validating
the token, before running it.

Credit:

Or Sahar (Reflectiz) (finder)
Sean Ghaeli (remediation developer)

References:

https://github.com/apache/airflow/pull/71192
https://www.cve.org/CVERecord?id=CVE-2020-11981
https://github.com/apache/airflow/pull/70927
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-68982
_____________________________________________________________________

CVE-2026-50204: Apache Airflow: Audit-log secrets masker redacts by
key name only, persisting connection and Variable secrets in
cleartext

Severity: moderate 

Affected versions:

- Apache Airflow before 3.4.0

Description:

Apache Airflow's audit log stored Connection and Variable secret values
in cleartext in the `Log.extra` column because the secrets masker
matched only on configured sensitive key names. An authenticated
low-privilege user with read access to the event-log / audit API — with
no prior access to the affected connection or variable — could read
those rows and recover the credentials verbatim. Users should upgrade
to apache-airflow 3.4.0 or later, which masks these values and restricts
the affected audit rows to authorized users.

Credit:

Eunho Kim (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/68049
https://github.com/apache/airflow/pull/70759
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-50204

_____________________________________________________________________

CVE-2026-96285: Apache Airflow: Scheduler: next_kwargs deserialized
before the dict check, so resume data still invokes constructors

Severity: moderate 

Affected versions:

- Apache Airflow 3.3.0 before 3.4.0

Description:

Apache Airflow 3.3.1 shipped a fix for CVE-2026-67260 that checks the
scheduler's decoded `next_kwargs` value is a dictionary, but performs
that check only after deserializing the whole stored payload.
Deserialization reconstructs nested objects of classes permitted by
the deserialization allow-list — which by default includes Airflow's
own classes — and runs their constructors inside the scheduler process
before the check can reject the value. A Dag author, who controls a
task's `next_kwargs` through the task execution API, can therefore
still trigger constructor execution in the scheduler when the
`awaiting_input` timeout sweep processes the task, and in the API
server when the task instance is served to a worker using an older
Execution API version; no non-default configuration is required.
Versions before 3.3.0 are not affected. This is an incomplete fix
for CVE-2026-67260: deployments that upgraded to 3.3.1 for that
issue must also upgrade to apache-airflow 3.4.0 or later.

Credit:

Andrew Rukin (Arenadata) (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/73576
https://github.com/apache/airflow/pull/73577
https://www.cve.org/CVERecord?id=CVE-2026-67260
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-96285
_____________________________________________________________________

CVE-2026-113504: Apache Airflow: Secrets masker: pattern-based masking
bounded at depth 5 returns deeply-nested registered secrets in
cleartext

Severity: moderate 

Affected versions:

- Apache Airflow before 3.4.0

Description:

Apache Airflow's secrets masker stopped descending into nested
structures after five levels, so a secret registered with the
masker — for example a Connection password or a Variable
value — that appeared more than five containers deep under
non-sensitive keys was shown in cleartext in task logs and
rendered template fields. A user who can read task logs or
rendered templates, but is not meant to see those secrets, could
read them. Users are advised to upgrade to apache-airflow 3.4.0
or later.

Credit:

Gjoko Krstic, Zero Science Lab (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/73793
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-113504

_____________________________________________________________________

CVE-2026-111395: Apache Airflow: Reserved serialization keys in Dag
run conf crash the scheduler or are rebuilt as objects in the
Triggerer via deadline callbacks

Severity: moderate 

Affected versions:

- Apache Airflow 3.2.0 before 3.4.0

Description:

Apache Airflow did not reject reserved serialization keys inside a
Dag run's `conf`. A user allowed to trigger a Dag that uses a deadline
alert with an asynchronous callback could pass a `conf` that, once the
deadline was missed, either crashed the scheduler repeatedly or was
rebuilt into objects inside the Triggerer. Users are advised to
upgrade to apache-airflow 3.4.0 or later.

Credit:

Jarek Potiuk (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/74834
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-111395

_____________________________________________________________________

CVE-2026-111421: Apache Airflow: Execution API: set_xcom skips the
reserved-key check, so task-written XComs instantiate airflow.*
classes on the API server

Severity: moderate 

Affected versions:

- Apache Airflow 3.0.0 before 3.4.0

Description:

Apache Airflow's Task Execution API stored XCom values written by a
task without the reserved-key check applied elsewhere, so a Dag
author's task could write an XCom that, when a user later viewed it
through the API with deserialization enabled, made the API server
instantiate classes from the `airflow.*` namespace with arguments
the Dag author chose. This is an incomplete fix for CVE-2026-59242:
users who applied that fix in apache-airflow 3.3.1 remain affected
through this route and should upgrade to apache-airflow 3.4.0 or
later.

Credit:

Qi Qin of depthfirst (finder)
Hama1cco (finder)
Zhixi "Jace" Sun, independent security researcher (finder)
Michael Lip (theluckystrike) (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/72718
https://github.com/apache/airflow/pull/74829
https://www.cve.org/CVERecord?id=CVE-2026-59242
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-111421

_____________________________________________________________________

CVE-2026-111452: Apache Airflow: Secrets masker: camelCase key names
(privateKey, connectionString, webhookUrl) not matched against the
sensitive-field list

Severity: low 

Affected versions:

- Apache Airflow before 3.4.0

Description:

Apache Airflow's secrets masker matched sensitive key names only in
their snake_case form, so values stored under camelCase keys such as
`privateKey`, `connectionString`, `webhookUrl` or `accessKey` — for
example in a Connection's extra or a Variable — were not redacted in
task logs, rendered template fields or API responses. A user who can
read task logs or rendered templates, but is not meant to see those
credentials, could read them in cleartext. Users are advised to
upgrade to apache-airflow 3.4.0 or later.

Credit:

Anass Bali / 0xbaas (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/74840
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-111452

_____________________________________________________________________

CVE-2026-111455: Apache Airflow: Connections API: async connection
test authorizes create at enqueue but overwrites a later-created
connection at commit

Severity: low 

Affected versions:

- Apache Airflow 3.3.0 before 3.4.0

Description:

Apache Airflow's asynchronous connection test checked permissions when
the test was queued — only create permission when the connection ID
did not exist yet — but, when the test completed with
`commit_on_success`, wrote the tested connection under that ID. A user
allowed to create but not edit connections could overwrite a connection
someone else had created in the meantime. Only deployments that enable
the non-default `[core] test_connection` setting are affected. Users
are advised to upgrade to apache-airflow 3.4.0 or later.

Credit:

Evan Ricafort (@evanricafort) of Invalid Web Security (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/74837
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-111455

_____________________________________________________________________

CVE-2026-111454: Apache Airflow: API: asset endpoints return
scheduled/producing/consuming Dag IDs the caller cannot read

Severity: low 

Affected versions:

- Apache Airflow before 3.4.0

Description:

Apache Airflow's asset API endpoints returned the IDs of Dags that
are scheduled on, produce, or consume an asset without checking
whether the caller may read those Dags. An authenticated user with
asset read access could learn the IDs of Dags they are not authorized
to see. Users are advised to upgrade to apache-airflow 3.4.0 or later.

Credit:

Zhixi "Jace" Sun, independent security researcher (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/74836
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-111454

_____________________________________________________________________

CVE-2026-111453: Apache Airflow: API: asset queuedEvents DELETE checks
Dag edit on a ?dag_id query value but deletes rows for every
readable Dag

Severity: low 

Affected versions:

- Apache Airflow 3.3.2 before 3.4.0

Description:

Apache Airflow's API endpoint for deleting an asset's queued events
checked Dag edit permission against the `dag_id` query parameter, but
deleted the queued events of every Dag the caller could read. An
authenticated user with edit permission on one Dag and read access to
others could suppress asset-triggered runs of Dags they cannot edit.
This is an incomplete fix for CVE-2026-75157: users who upgraded to
apache-airflow 3.3.2 for that fix are still affected and should upgrade
to apache-airflow 3.4.0 or later.

Credit:

hataehoon (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/74839
https://www.cve.org/CVERecord?id=CVE-2026-75157
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-111453

_____________________________________________________________________

CVE-2026-101031: Apache Airflow: Shell command injection in the
example_dag_decorator example Dag via an IPv6 zone identifier

Severity: low 

Affected versions:

- Apache Airflow 3.0.5 before 3.4.0

Description:

The `example_dag_decorator` example Dag shipped with Apache Airflow
validated an IP address fetched over HTTP with Python's `ipaddress`
module and then placed it into a shell command. `ipaddress` accepts
IPv6 zone identifiers containing arbitrary characters, so when example
Dags are loaded (`load_examples` enabled), a user who can trigger that
Dag with a custom `url` parameter could point it at a server whose
response injects shell commands run on the worker. This is an
incomplete fix for CVE-2025-54941; users who upgraded for
CVE-2025-54941 should upgrade again. Users are advised to upgrade to
apache-airflow 3.4.0 or later, or to disable example Dags
(`load_examples = False`), which is recommended for production.

Credit:

Andrew Rukin (Arenadata) (finder)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/73787
https://www.cve.org/CVERecord?id=CVE-2025-54941
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-101031


_____________________________________________________________________

CVE-2026-113508: Apache Airflow: Logout token revocation fails open;
errors silently swallowed

Severity: low 

Affected versions:

- Apache Airflow before 3.4.0

Description:

Apache Airflow's logout endpoint attempted to revoke the presented
token on the server, but any failure during revocation was silently
ignored and logout still reported success. When the auth manager
redirects logout to an external logout URL (for example the FAB or
Keycloak auth managers), server-side revocation is the only thing
that invalidates the Airflow token; it failed on database errors and,
reliably, for tokens from an external issuer accepted via
`[api_auth] trusted_jwks_url` whose token identifier is longer
than 32 characters. Anyone holding a copy of a user's token from
before logout could keep using it against the Airflow API until it
expired. Users are advised to upgrade to apache-airflow 3.4.0 or
later.

Credit:

Claude Security Scans (tool)
Pierre Jeambrun (remediation developer)
Jarek Potiuk (remediation developer)

References:

https://github.com/apache/airflow/pull/73562
https://github.com/apache/airflow/pull/73788
https://airflow.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-113508


=========================================================
+ CERT-RENATER        |    tel : 01-53-94-20-44         +
+ 23/25 Rue Daviel    |    fax : 01-53-94-20-41         +
+ 75013 Paris         |   email:cert@support.renater.fr +
=========================================================




