Apache Software Foundation Apache Airflow · Public exploit code

PoC published for Apache Airflow scheduler deserialization flaw

· 1 min read

The Apache Airflow scheduler fully deserializes XCom values written by task code when evaluating task dependencies (CVE-2026-86829). A DAG author therefore controls data deserialized inside the scheduler process, a context the Airflow security model reserves for trusted code. With a PoC published, review who can author DAGs in your environment and watch for a vendor fix.

WhatsApp LinkedIn X
HighVulnerabilityPublic exploit codeFix unconfirmed

In 30 seconds

Observed

A proof of concept has surfaced for CVE-2026-86829, a flaw in Apache Airflow, the open source platform teams use to schedule and orchestrate data pipelines. The security feed ptdbugs announced that a PoC or exploit has been discovered, and a public GitHub repository now hosts code for the bug, tracked internally as PT-2026-140320.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source list

Alleged

According to the advisory text circulated with the report, Airflow's scheduler fully deserializes XCom values, the small data objects tasks use to pass information to each other, while it evaluates task dependencies. That hands a DAG author, meaning anyone allowed to write workflow definitions, control over data deserialized inside the scheduler process, a zone the Airflow security model reserves for trusted code. The stated remedy is an upgrade to Airflow 3.4.0 or later.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

What happened

Observed

The paper trail in this batch starts with a vulnerability entry on the dbu.gs tracker, PT-2026-140320, covering a deserialization flaw in Apache Airflow from the Apache Software Foundation and mapped to CVE-2026-86829.dbu.gsdbu.gs · rssOpen original sourceSee in source list

Observed

Alongside that entry, ptdbugs posted on X that a PoC or exploit for the CVE had been discovered and linked to a public repository, googlesky/cve-2026-86829 on GitHub, which hosts code for the bug. The advisory text distributed in the same post explains the mechanics: the scheduler fully deserializes XCom values written by task code during dependency evaluation, so a DAG author controls data deserialized in the scheduler process, a context the Airflow security model reserves for code installed by the Deployment Manager.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source list

Why it matters

Inferred

The core problem is a trust boundary collapse. Airflow's security model assumes two distinct roles: the Deployment Manager, who installs trusted code on the scheduler, and DAG authors, whose capabilities are documented as scoped to workers. By writing to XCom, a DAG author effectively reaches into the scheduler's own process, a privilege the model never intended them to have.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Alleged

A public PoC turns that theoretical boundary violation into a concrete attack path to study or abuse. The advisory text notes two conditions must line up for impact: the deployment must treat DAG authors as less trusted than Deployment Managers, a common arrangement on multi-team data platforms, and the scheduler must be evaluating a task dependency that reads a task-written XCom value.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source list

What to do

Observed

The advisory's recommendation is direct: upgrade to apache-airflow 3.4.0 or later. That version restricts dependency evaluation to primitive XCom values, plain data like strings and numbers rather than arbitrary objects, which closes the channel the flaw relies on.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Inferred

If an immediate upgrade is not feasible, the next best lever is permission review: check who can author DAGs in your environment and whether that trust level matches what the deployment actually assumes. The advisory frames DAG authorship as the permission to scrutinize in affected setups.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Confirmed and still uncertain

Observed

What is established in this batch: the flaw description, the affected product (Apache Airflow), the CVE identifier (CVE-2026-86829), the tracking ID (PT-2026-140320), the fix version (3.4.0), and the existence of a public PoC repository.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source list

Inferred

What remains unverified: whether the PoC code actually executes against a live scheduler, whether anyone has exploited the flaw in the wild, and exactly which Airflow versions before 3.4.0 are vulnerable, since the advisory text available here does not spell out an affected version range. Those gaps should be closed against Apache's own advisory before operational decisions.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source list

What people are saying

Observed

Commentary is thin so far and centers on ptdbugs, a bug tracking feed on X, which announced the PoC and circulated the full advisory text. Its post states plainly that a PoC or exploit has been discovered for CVE-2026-86829 and recommends upgrading to version 3.4.0 or later.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Observed

The PoC itself sits in a GitHub repository under the account googlesky, with no accompanying commentary or claims from the repository publisher captured in this batch, so the advisory language from ptdbugs is the only narrative voice on record.github.comgithub.com · rssOpen original sourceSee in source list

Evolution

Inferred

The batch reads as a single snapshot rather than a timeline: the dbu.gs tracker entry, the GitHub PoC repository, and the ptdbugs announcement all appear in the same evidence window, meaning the transition from private disclosure to public exploit code cannot be dated from this data alone.dbu.gsdbu.gs · rssOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source listptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Inferred

One detail suggests the disclosure was already mature when the PoC surfaced: the fix, version 3.4.0 with dependency evaluation restricted to primitive XCom values, was available and recommended at the time of the announcement.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Reach

Observed

2 independent groups, 1 updates, and 1 engagements.

Technical detail

Alleged

The technical root, per the advisory: Airflow tasks exchange data through XCom, and when the scheduler evaluates task dependencies it fully deserializes XCom values that task code wrote. A DAG author controls what a task writes to XCom, and therefore controls the data deserialized inside the scheduler process, a context the security model reserves for code installed by the Deployment Manager, above the worker-scoped capability DAG authors are documented to have.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Inferred

The fix in 3.4.0 restricts dependency evaluation to primitive XCom values, removing arbitrary objects from the scheduler's deserialization path. Exploitation requires the scheduler to be evaluating a dependency that reads a task-written XCom value, and the issue matters where DAG authors are treated as less trusted than Deployment Managers. Note that the advisory text does not name the exact deserialization sink or the impact, so any remote code execution framing is inference, not documented fact.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source list

Sources and evidence

Observed

This story rests on three artifacts: the dbu.gs vulnerability entry for PT-2026-140320 (primary), the GitHub repository googlesky/cve-2026-86829 hosting the PoC (primary), and a post from ptdbugs on X (discussion) that carries the full advisory text quoted throughout this report. The two RSS entries arrived without body text, so every advisory detail here traces back to the ptdbugs post.dbu.gsdbu.gs · rssOpen original sourceSee in source listgithub.comgithub.com · rssOpen original sourceSee in source listptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Inferred

Because the advisory text reaches us through a third-party feed rather than Apache's own advisory page, version-specific details beyond the 3.4.0 fix recommendation should be rechecked against the upstream source before being used for patching or risk decisions.ptdbugsx.com · ptdbugs · xOpen original sourceSee in source list

Sources

  1. ptdbugsx.com · ptdbugs · x
  2. github.comgithub.com · rss
  3. dbu.gsdbu.gs · rss

Incidents like this, every morning

The ones that need action first, in a 3-minute read.

Free · 1 email a day, in the morning · no spam, unsubscribe in 1 click

Get the next one tomorrow morning

One email a day with what changed, what to fix first and how.

Free · 1 email a day, in the morning · no spam, unsubscribe in 1 click

Share it with your team

Whoever handles security with you should get it too.

LinkedIn X

Your colleague gets a confirmation request. Nothing is sent unless they confirm.

See all news

Read also

Before you go: get this every day

The HIFY Radar daily edition lands every morning with the incidents that need action. Free.

Free · 1 email a day, in the morning · no spam, unsubscribe in 1 click