{"id":"CVE-2025-67895","kind":"vulnerability","aliases":["CVE-2025-67895","GHSA-66h8-3g48-6hx8"],"related":[],"title":"Apache Airflow Providers Edge3 exposes internal API allowing RCE in web server context","description":"Edge3 Worker RPC RCE on Airflow 2.\n\nThis issue affects Apache Airflow Providers Edge3: before 2.0.0 - and only if projects installed and configured it on Airflow 2.\n\nThe Edge3 provider support in Airflow 2 has been always development-only and not officially released, however if projects installed and configured Edge3 provider in Airflow 2, it implicitly enabled non-public (normally) API which was used to test Edge Provider in Airflow 2 during the development. This API allowed Dag author to perform Remote Code Execution in the webserver context, which Dag Author was not supposed to be able to do.\n\nIf projects installed and configured Edge3 provider for Airflow 2, they should uninstall it and migrate to Airflow 3. The new Edge3 provider versions (>=2.0.0) has a minimum version of Airflow set to 3 and the RCE-prone Airflow 2 code is removed, so it should no longer be possible to use the Edge3 provider 2.0.0+ on Airflow 2.\n\nIf projects used Edge Provider in Airflow 3, you they are not affected.","summary":"The Edge3 provider for Apache Airflow 2 enabled an internal, non-public API that let a DAG author execute code in the webserver context. An attacker with DAG authoring rights can run arbitrary code on the Airflow webserver.","severity":"critical","cvss":9.8,"epss":0.01168,"exploited":false,"exploited_at":null,"products":[{"name":"apache-airflow-providers-edge3","fixed":["2.0.0"],"affected":"< 2.0.0","ecosystem":"pypi"},{"name":"apache apache-airflow-providers-edge3","fixed":["2.0.0"],"affected":"< 2.0.0","ecosystem":"vendor"}],"ecosystems":["pypi","vendor"],"tags":["airflow","cwe-669","package","pypi","python","self-hosted"],"not_affected_if":["airflow-3","edge3-not-installed","no-dag-author-trust-issue"],"how_to_check":"- `pip show apache-airflow-providers-edge3` to see the installed provider version, and `airflow version` to see whether the host runs Airflow 2 or 3\n- Check whether the Edge3 provider is listed in the project's requirements or Dockerfile and whether it is configured in Airflow 2 deployments","fix":"- Upgrade `apache-airflow-providers-edge3` to `2.0.0` or later, which requires Airflow 3\n- On Airflow 2, uninstall the Edge3 provider and migrate to Airflow 3 as the advisory recommends","status":"open","published_at":"2025-12-17T12:15:46+00:00","first_seen_at":"2026-10-26T21:21:58+00:00","triaged_at":"2026-10-26T21:31:56+00:00","updated_at":"2026-10-26T21:55:22+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-26T21:31:56Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade `apache-airflow-providers-edge3` to `2.0.0` or later, which requires Airflow 3\n- On Airflow 2, uninstall the Edge3 provider and migrate to Airflow 3 as the advisory recommends","reach":"network","title":"Apache Airflow Edge3 provider: DAG authors can run code on webserver","impact":"high","summary":"The Edge3 provider for Apache Airflow 2 enabled an internal, non-public API that let a DAG author execute code in the webserver context. An attacker with DAG authoring rights can run arbitrary code on the Airflow webserver.","category":"package","nicknames":[],"who_cares":["airflow","python","pypi","self-hosted"],"confidence":0.8,"needs_auth":"yes","worst_case":"DAG author runs arbitrary code on the Airflow webserver.","analyst_note":"","how_to_check":"- `pip show apache-airflow-providers-edge3` to see the installed provider version, and `airflow version` to see whether the host runs Airflow 2 or 3\n- Check whether the Edge3 provider is listed in the project's requirements or Dockerfile and whether it is configured in Airflow 2 deployments","needs_analyst":false,"not_affected_if":["airflow-3","edge3-not-installed","no-dag-author-trust-issue"],"who_is_affected":"Only projects that installed and configured the Edge3 provider on Airflow 2 are exposed, since that setup implicitly enabled the internal test API. Projects running Edge3 on Airflow 3 are not affected, and projects that never installed Edge3 can skip it. The exposure also requires that someone able to author DAGs is not fully trusted.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000677,"input_tokens":3645,"output_tokens":626,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2025':15A,23A '-669':38B '-67895':16A,24A '2':51B,90C,110C,117C,138C,156C,194C,225C,244C '2.0.0':99C,209C,241C '3':203C,218C,252C '3g48':20A '66h8':19A '6hx8':21A 'abl':182C 'affect':93C,257C 'airflow':2A,27A,33A,36B,50B,82B,89C,95C,109C,116C,137C,155C,193C,202C,215C,224C,243C,251C 'allow':8A,162C 'alway':120C 'apach':1A,49B,94C 'apache':26A,30A,32A 'apache-airflow-providers-edge3':25A,31A 'api':7A,58B,146C,161C 'arbitrari':78B 'attack':71B 'author':63B,74B,164C,176C 'code':65B,79B,168C,226C 'configur':106C,133C,189C 'context':13A,69B,173C 'cve':14A,22A 'cwe':37B 'dag':62B,73B,163C,175C 'develop':122C,159C 'development-on':121C 'edg':152C,248C 'edge3':4A,29A,35A,46B,84C,97C,112C,134C,190C,206C,239C 'enabl':52B,141C 'execut':64B,169C 'expos':5A 'ghsa':18A 'ghsa-66h8-3g48-6hx8':17A 'host':44B 'howev':128C 'implicit':140C 'instal':104C,131C,187C 'intern':6A,54B 'issu':92C 'let':60B 'longer':233C 'migrat':200C 'minimum':212C 'new':205C 'non':56B,143C 'non-publ':55B,142C 'normal':145C 'offici':126C 'packag':39B 'perform':166C 'possibl':235C 'project':103C,130C,186C,246C 'prone':223C 'provid':3A,47B,96C,113C,135C,153C,191C,207C,240C,249C 'providers':28A,34A 'public':57B,144C 'pypi':40B 'python':41B 'rce':9A,87C,222C 'rce-pron':221C 'releas':127C 'remot':167C 'remov':228C 'right':75B 'rpc':86C 'run':77B 'self':43B 'self-host':42B 'server':12A 'set':216C 'support':114C 'suppos':179C 'test':151C 'uninstal':197C 'use':149C,237C,247C 'version':208C,213C 'web':11A 'webserv':68B,83B,172C 'worker':85C","nicknames":[],"mitigations":[],"who_affected":"Only projects that installed and configured the Edge3 provider on Airflow 2 are exposed, since that setup implicitly enabled the internal test API. Projects running Edge3 on Airflow 3 are not affected, and projects that never installed Edge3 can skip it. The exposure also requires that someone able to author DAGs is not fully trusted.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2025-12-17T12:15:46+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-66h8-3g48-6hx8","url":"https://github.com/advisories/GHSA-66h8-3g48-6hx8","severity":"critical","published_at":"2025-12-17T12:30:12+00:00","modified_at":"2026-10-26T21:20:47+00:00","first_seen_at":"2026-10-26T21:21:58+00:00","fetched_at":"2026-10-26T21:21:58+00:00","note":null},{"source":"nvd","external_id":"CVE-2025-67895","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-67895","severity":null,"published_at":"2025-12-17T12:15:46+00:00","modified_at":"2026-06-17T09:58:13+00:00","first_seen_at":"2026-10-26T21:55:22+00:00","fetched_at":"2026-10-26T21:55:22+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}