{"affected":[{"defaultStatus":"unaffected","ecosystem":"pypi","packageName":"apache-airflow","product":"Apache Airflow","source":"CNA: apache","vendor":"Apache Software Foundation","versions":[{"lessThan":"3.0.0","status":"affected","version":"0","versionType":"semver"}]},{"defaultStatus":"unaffected","ecosystem":"pypi","packageName":"apache-airflow-core","product":"Apache Airflow","source":"CNA: apache","vendor":"Apache Software Foundation","versions":[{"lessThan":"3.2.2","status":"affected","version":"3.0.0","versionType":"semver"}]}],"cveId":"CVE-2026-40861","cwes":["CWE-59"],"description":"A Dag author could either (a) create a symlink under their task's log directory pointing to an arbitrary file readable by the API server process (read-path attack — e.g. `/etc/passwd` or `airflow.cfg`) or (b) supply a `task_id` containing `..` sequences accepted by the Task SDK's `KEY_REGEX` (write-path attack), and in both cases the FileTaskHandler resolves the log path outside the configured `base_log_folder`, leaking or overwriting arbitrary files. Only affects deployments where the worker log folder is shared with the API server. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deploy the worker and API server with separate log volumes so that worker-controlled paths cannot reach the API server's filesystem.","epss":{"date":"2026-11-02","percentile":0.52849,"score":0.00691},"exploits":[],"kev":null,"metrics":[{"score":6.5,"severity":"medium","source":"ADP: CISA-ADP","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}],"modifiedAt":1793688895643,"publishedAt":1780300537566,"references":[{"source":"CNA: apache","tags":["patch"],"url":"https://github.com/apache/airflow/pull/65325"},{"source":"CNA: apache","tags":["vendor-advisory"],"url":"https://lists.apache.org/thread/823334db2559xjlwt59gpzjz47thnscl"},{"source":"ADP: CVE","tags":[],"url":"http://www.openwall.com/lists/oss-security/2026/05/31/1"}],"remediation":[{"kind":"fix","source":"CNA: apache","text":"The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.","url":"https://github.com/apache/airflow/pull/65325"}],"revision":"f42b86186f0126fd45c5ac40a44fa3d7493ebc07e842ad6aef6a39f2b06ba03c","sources":[{"modifiedAt":1793688895643,"name":"CNA: apache","retrievedAt":1793689744616,"url":"https://www.cve.org/CVERecord?id=CVE-2026-40861"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1793689758051,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-40861"}],"ssvc":{"assessedAt":1780417983378,"automatable":"no","exploitation":"none","source":"ADP: CISA-ADP","technicalImpact":"partial"},"status":"published","title":"Apache Airflow: Arbitrary File Read via Log Symlink following in FileTaskHandler","updatedAt":1793689758051}