Apache Airflow 排程器現高危 RCE:Callback 反序列化漏洞讓 DAG 作者取得程式碼執行權(CVE-2026-67587)
oss-security mailing list · 2026-08-12
漏洞機制
Apache Airflow 的 Task SDK 在重建 Callback 物件時,會依序列化資料中殘留的模組路徑字串重新執行匯入。攻擊者以 DAG 作者身分透過任務執行 API 操控 next_kwargs 參數,就能讓排程器在 awaiting_input 逾時清理流程中匯入任意模組,等同一條可控的反序列化 gadget chain,且預設設定即可觸發,不需額外條件。Airflow 原本提供 allowed_deserialization_classes 允許清單機制以限制反序列化可匯入的類別,但此弱點出現在 Task SDK 內部的 Callback 重建流程,不受該一般性允許清單約束。
受影響版本
- Apache Airflow
3.3.0(修補前) - 修補版本:
3.3.1
此漏洞是與另外十餘個 Airflow CVE 同一天於 oss-security 批量揭露,其中包含另兩個與反序列化/授權相關的個案:官方同批也公開了 CVE-2026-58076(BaseSerializer 中未受保護的 import_string)與 CVE-2026-67260(排程器上另一條 DAG 作者可觸發的 RCE 路徑),顯示 Airflow 團隊近期針對序列化與授權模型進行了一輪集中稽核。
修補與緩解
修補由 PR #70704 完成,做法是把反序列化讀回的路徑字串包成一個私有 str 子類別直接回傳,不再對其重新執行模組解析與匯入,同時保留原本對 DAG 作者主動建立 Callback 時的匯入驗證與路徑格式檢查。官方建議所有執行 3.3.0 的環境立即升級至 3.3.1,漏洞由 MBBank 的 Nguyen Van Hiep(@hypnguyen1209)回報,Jarek Potiuk 完成修補。來源未提供 CVSS 分數。
Apache Allura 同批公開四個 CVE,Git 引數注入可致遠端指令執行(CVE-2026-73240)
oss-security mailing list · 2026-08-12
漏洞機制
Apache Allura 是一套整合 Git/SVN 版本控管的專案協作平台,會將使用者可控的參數轉交給底層 git 指令列。當這些參數未以 -- 分隔正確地與旗標隔離,攻擊者只要提供以 - 開頭的值(例如偽造成 --upload-pack=/bin/sh),git 解析器就會把它當成旗標而非一般字串參數,這類手法稱為引數注入(argument injection),不需經過 shell 也能讓底層行程執行任意程式。官方公告僅描述為「特製輸入可能導致 Apache Allura 出現 git 引數注入」,未附細節。
受影響版本
- Apache Allura
1.19.1之前版本 - 修補版本:
1.19.1
這是 Allura 團隊同一天在 oss-security 一次揭露的第四個 CVE,另外三個同批項目性質互不相同:
| CVE | 類型 | 說明 |
|---|---|---|
CVE-2026-73237 | XSS | Markdown 轉換管線中的跨站腳本 |
CVE-2026-73238 | XSS | 程式碼顯示畫面中的跨站腳本 |
CVE-2026-73239 | IDOR | 權限檢查缺失導致的不安全直接物件參照 |
CVE-2026-73240 | Git 引數注入 | 特製輸入觸發 git 指令列注入(本篇主題) |
修補與緩解
四個 CVE 皆已在 2026 年 6 月底發布的 1.19.1 版中一次修補,但公開揭露延後到 8 月 12 日才透過 oss-security 發出,意味著在此之前未升級的部署,其實已暴露超過一個月而未被公開示警。修補由 Dave Brondsema 具名回報/處理,官方公告未附 CVSS 分數,建議所有仍執行 1.19.1 之前版本的自架 Allura 站台立即升級。
獨立研究者重新發現 KVM SEV-SNP 堆積越界漏洞,發現已被他人先行揭露(CVE-2026-53360)
Himanshu Anand's blog · 2026-08-10
漏洞機制
問題位於 Linux KVM 處理 AMD SEV-SNP 客體的 Page State Change(PSC)請求程式碼 arch/x86/kvm/svm/sev.c。Host 端配置的暫存緩衝區大小由 guest 指定,但處理迴圈卻只依協定常數 253 檢查條目數量上限,而非比對實際配置到的緩衝區容量,因此 guest 可以宣告一個 8 bytes 的極小緩衝區,卻要求處理多達 252 個條目,讓迴圈越界寫入/讀取約 2KB 進入相鄰的 host kernel heap 物件。程式碼中共享記憶體值在驗證與使用之間也缺少 READ_ONCE() 保護,讓攻擊者能透過 TOCTOU 競態進一步操弄結果。
受影響版本
- 缺陷自 Linux
v6.10(commit9b54e248d264,2024 年 5 月)引入 - 修補版本:
v7.0.12、v6.18.35、v6.12.93
作者 Himanshu Anand 於 2026 年 5 月 9 日獨立回報此弱點,事後才發現研究者 Stan Shaw 早在同年 4 月 8 日已先向 security@kernel.org 送出分析與 PoC,並取得 CVE-2026-53360,因此本篇部落格文章的定位是「重新發現、但已被他人先行揭露」的紀錄。作者利用該漏洞建立的原生性包含讀取/寫入導向的 oracle 以及可重複觸發的堆積掃描能力,但整體評估為「有趣但受限」,需搭配其他核心漏洞才能組成完整的 VM 逃逸鏈。
修補與緩解
上游修補由 Mike Roth 撰寫、Paolo Bonzini 提交,commit 為 db3f219,於 2026 年 5 月合併進主線,做法是強制要求 GHCB v2 以上版本的暫存區必須落在固定的共享緩衝區範圍內,從輸入邊界消除不合法狀態,而非在處理程式內部逐一加檢查。Stan Shaw 已公開完整的技術分析與 PoC 程式碼,PoC 在 AMD EPYC 硬體上執行時觸發了 73 次 KASAN 違規回報,兩位研究者皆建議在 SNP 相關程式碼測試時常態開啟 KASAN。