Skip to content
Fencer Vulns
medium 6.1

CVE-2021-28359 json

Apache Airflow Reflected XSS via Origin Query Argument in URL

published 2021-05-02 5 y ago modified 2026-09-08 2 mo ago also BIT-airflow-2021-28359 , EUVD-2021-0017 , GHSA-3xxv-p78r-4fc6 , PYSEC-2021-4

cvss
6.1
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
14.4%
EPSS 14.4% chance of exploitation in 30 days, percentile 96%
public exploits
0
none known

Summary

The "origin" parameter passed to some of the endpoints like '/trigger' was vulnerable to XSS exploit. This issue affects Apache Airflow versions <1.10.15 in 1.x series and affects 2.0.0 and 2.0.1 and 2.x series. This is the same as CVE-2020-13944 & CVE-2020-17515 but the implemented fix did not fix the issue completely. Update to Airflow 1.10.15 or 2.0.2. Please also update your Python version to the latest available PATCH releases of the installed MINOR versions, example update to Python 3.6.13 if you are on Python 3.6. (Those contain the fix for CVE-2021-23336 https://nvd.nist.gov/vuln/detail/CVE-2021-23336).

Patch / fix

  • pypi apache-airflow 1.10.15, 2.0.2
  • bitnami airflow 1.10.15, 2.0.2
  • Apache Software Foundation Apache Airflow 1.10.15

Exploit prediction

14.39% chance of exploitation in the next 30 days, higher than 96% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
GitHub 3.1 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
NVD 3.1 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
NVD 2.0 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N
OSV 3.1 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Affected packages

ecosystem package affected fixed in
pypi apache-airflow
<1.10.15
>=2.0.0a1, <2.0.2
>=1.8.1, <1.10.15
>=2.0.0, <2.0.2
1.10.15
2.0.2
bitnami airflow
>=1.0.0, <1.10.15
>=2.0.0, <2.0.2
1.10.15
2.0.2

Affected products

  • Apache Software Foundation Apache Airflow

Classification

Weakness
  • CWE-79 Improper Neutralization of Input During Web Page Generation

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.