本文使用的 Docker 镜像
发布日期: 2026 年 11 月 3 日
风险等级: 高危(High)
漏洞编号: CVE-2026-58076 · CVE-2026-40961
涉及镜像: apache/airflow — 轩辕镜像 · Docker Hub
CVSS: CVE-2026-58076 为 8.8(High);CVE-2026-40961 为 7.2(High)
披露时间: 58076 于 2026 年 8 月公开,40961 于 2026 年 6 月公开;NVD 于 2026 年 11 月 3 日更新后纳入本档
相关公告: GHSA-8prw-8m6x-8w6f · GHSA-6hcw-qqr8-pjj8 · PR #68511
一、漏洞概述
CVE-2026-58076(反序列化任意 import → RCE)
序列化层对 airflow_exc_ser / base_exc_ser 一类异常节点,会用 import_string() 按 blob 里的类名导入并实例化,没有白名单。DAG 作者可以在 operator 的 executor_config 里植入调用(例如 subprocess.check_output、builtins.eval)。这些调用会在 Scheduler 的常规反序列化循环,以及 API Server 在认证后读取 DAG(例如 GET /api/v2/dags/{dag_id}/details)时执行。
按安全模型,Scheduler / API Server 本不应执行 DAG 作者代码,却握有元数据库凭据和 JWT 签名密钥。CVSS 3.1 为 8.8。
这和只覆盖 trigger 分支的 CVE-2026-33264 不是同一个 sink。只修过 33264 的部署,这条仍在,必须再升。
CVE-2026-40961(登录 next= 开放重定向)
登录重定向路由里,认证用户可以构造绕过 is_safe_url 的 URL,让浏览器从可信 Airflow 域跳到攻击者控制的源。CVSS 3.1 为 7.2。需已认证用户触发,常见用途是钓鱼与会话相关跳转。
二、漏洞状态
统计截止: 2026 年 11 月 3 日(UTC+8)
| 项目 | CVE-2026-58076 | CVE-2026-40961 |
|---|---|---|
| 漏洞细节 | 已公开(GHSA、NVD、oss-security) | 已公开(GHSA、NVD) |
| 受影响版本 | ≥ 3.3.0 且 < 3.3.1 | ≥ 3.0.0 且 < 3.2.2 |
| 官方补丁 | ≥ 3.3.1 | ≥ 3.2.2 |
| 镜像标签 | Hub 上已有 3.3.1、3.3.2。今天的 latest 与 3.3.2 是同一份镜像 | 同上;建议直接跟 58076 升到 3.3.2 |
| CISA KEV | 未列入 | 未列入 |
默认可利用,不依赖额外非默认开关。有权提交或更新 DAG 的用户即可尝试 58076。
三、影响范围
跑 Airflow 3.x 且版本落在上表区间、管理面或 API 可达的部署。58076 危及 Scheduler / API 进程与集群密钥;40961 主要危及登录后的跳转信任。
四、修复建议
统一升到 apache/airflow:3.3.2(同时覆盖两条)。不要停在只修过 33264、或低于 3.3.1 的 3.3.0 构建上。不要把 latest 写进长期配置。
bashdocker pull docker.xuanyuan.run/apache/airflow:3.3.2
若暂时只能升 40961,至少到 3.2.2;有 58076 风险的 3.3.0 线必须到 3.3.1 或更高。
Docker Hub: apache/airflow
轩辕镜像: apache/airflow
五、临时缓解措施
在升级之前:收紧谁能提交 / 更新 DAG;限制对 Scheduler 与 API Server 的网络可达性。对 40961,可在反代剥离跨域的 next= 查询参数。这不能代替 3.3.2。
六、与轩辕镜像用户的相关说明
轩辕镜像提供的是镜像加速与拉取服务,不替代 Airflow 的版本修复。今天的 latest 与 3.3.2 是同一份镜像,加速拉取 latest 以后可能不再锁定在这个版本。基于更旧标签二次构建的,要改基础标签后重新构建。
七、参考链接
- NVD:CVE-2026-58076 · CVE-2026-40961
- GitHub:GHSA-8prw-8m6x-8w6f · GHSA-6hcw-qqr8-pjj8 · PR #68511
- Docker Hub:apache/airflow
- 轩辕站内镜像页:apache/airflow
阅读原文
轩辕镜像安全团队
2026 年 11 月 3 日
评论交流
免责声明
本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。
文中提及的第三方镜像由其原维护者自行维护与更新,轩辕镜像不负责相关镜像的维护。如镜像涉及版权争议或违法违规情形,请直接联系该镜像维护者处理,相关事宜与轩辕镜像无关。
用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。
用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。
本免责声明的最终解释权归轩辕镜像官方所有。
