Skip to content

GHSA-cff3-5qrp-hqx7 BIT-airflow-2024-29735 CVE-2024-29735 PYSEC-2026-1132

Apache Airflow Improper Preservation of Permissions vulnerability

Medium PyPI
Severity
5.3 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
1.46%
Chance of exploitation in the next 30 days. Higher than 73.58% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-281 Improper Preservation of Permissions
Fix
2.8.4
Upgrade apache-airflow to this version or later

Description

Improper Preservation of Permissions vulnerability in Apache Airflow. This issue affects Apache Airflow from 2.8.2 through 2.8.3.

Airflow's local file task handler in Airflow incorrectly set permissions for all parent folders of log folder, in default configuration adding write access to Unix group of the folders. In the case Airflow is run with the root user (not recommended) it added group write permission to all folders up to the root of the filesystem.

If your log files are stored in the home directory, these permission changes might impact your ability to run SSH operations after your home directory becomes group-writeable.

This issue does not affect users who use or extend Airflow using Official Airflow Docker reference images ( https://hub.docker.com/r/apache/airflow/ ) - those images require to have group write permission set anyway.

You are affected only if you install Airflow using local installation / virtualenv or other Docker images, but the issue has no impact if docker containers are used as intended, i.e. where Airflow components do not share containers with other applications and users.

Also you should not be affected if your umask is 002 (group write enabled) - this is the default on many linux systems.

Recommendation for users using Airflow outside of the containers:

  • if you are using root to run Airflow, change your Airflow user to use non-root
  • upgrade Apache Airflow to 2.8.4 or above
  • If you prefer not to upgrade, you can change the https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#file-task-handler-new-folder-permissions  to 0o755 (original value 0o775).
  • if you already ran Airflow tasks before and your default umask is 022 (group write disabled) you should stop Airflow components, check permissions of AIRFLOW_HOME/logs in all your components and all parent directories of this directory and remove group write access for all the parent directories

Affected versions

PyPI

PackageVulnerableFixed in
apache-airflow
>= 2.8.2, < 2.8.4
2.8.4

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

apache-airflow PyPI → 2.8.4

pip
pip install --upgrade "apache-airflow>=2.8.4"
poetry
poetry add "apache-airflow>=2.8.4"
uv
uv add "apache-airflow>=2.8.4"

Severity breakdown

CVSS 3.1 5.3

CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N

Attack vector
Network
Attack complexity
High
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Weakness

CWE-281: Improper Preservation of Permissions

The product does not preserve permissions or incorrectly preserves permissions when copying, restoring, or sharing objects, which can cause them to have less restrictive permissions than intended.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
CVE-2020-13927
Authentication bypass in Apache Airflow
Critical Known exploited Also affects apache-airflow
CVE-2020-11978
Remote code execution (RCE) in Apache Airflow
High Known exploited Also affects apache-airflow
PYSEC-2026-3990
Apache Airflow: the Core API logout endpoint revokes only a session token presented as the _token cookie.
Critical Also affects apache-airflow
PYSEC-2026-3989
When a request to the Airflow core API carries both a session cookie and an explicit `Authorization: Bearer` token, Airflow resolves the caller from the cookie…
Medium Also affects apache-airflow
PYSEC-2026-3988
Apache Airflow's `/assets/events` API returned asset events for every Dag in the deployment, with no filter restricting them to the Dags the caller is…
Medium Also affects apache-airflow
GHSA-5247-m8w9-2v4m
Apache Airflow missing team context permits cross-team Dag actions and XCom reads
Medium Also affects apache-airflow
GHSA-f3c2-j7g8-vpp8
Apache Airflow Task SDK fails to mask list-shaped JSON Variables
Medium Also affects apache-airflow
GHSA-cjv4-7hp2-2x9h
Apache Airflow bulk endpoints log Variable and Connection secrets in cleartext
Medium Also affects apache-airflow
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor