資安雷達 2026 年 6 月 28 日

2026-06-28 — Grafana TanStack 供應鏈勒索事後檢討、pnpm 路徑穿越雙漏洞(CVE-2026-50015/50016)、Lemur SSRF+IDOR 漏洞鏈(CVE-2026-55166)

primary=https://grafana.com/blog/post-incident-review-for-tanstack-npm-supply-chain-ransom-incident/ primary=https://dailycve.com/pnpm-path-traversal-cve-2026-50015-critical-dc-jun2026-715/ primary=https://dailycve.com/pnpm-path-traversal-via-transitive-dependency-alias-cve-2026-50016-high-dc-jun2026-710/ primary=https://github.com/Netflix/lemur/security/advisories/GHSA-v2wp-frmc-5q3v

Grafana 事後檢討:TanStack npm 供應鏈勒索事件全程解析

Grafana Labs · 2026-06-27

2026 年 5 月,攻擊者透過 TanStack npm 供應鏈攻擊(Mini Shai-Hulud 活動)在 Grafana 自託管的 GitHub Actions runner 上執行惡意程式碼,導致認證憑證外洩。攻擊者隨後於 5 月 16 日發出勒索威脅,揚言公開 Grafana 私有原始碼;Grafana 依據 FBI 建議拒絕付款,並於 2026 年 6 月 27 日發布完整事後檢討報告,委外獨立鑑識由 Mandiant 執行。

攻擊機制

攻擊鏈起點為 5 月 11 日 19:21(UTC),惡意程式碼在 runner 上執行,造成多組認證憑證外洩。Grafana 雖立即輪換大部分憑證,但一組憑證被遺漏,攻擊者藉此在 5 月 14 日 07:21 發出第一個惡意 commit,並於同日 13:28 開始批量複製整個 GitHub 儲存庫集合。被竊資料包含私有原始碼(內部工具與部分 Grafana Cloud 功能)、業務聯絡人資料,以及過去行銷活動的電子郵件地址。

Grafana Cloud 平台本身、DockerHub 憑證與客戶生產系統均未受影響。Mandiant 的獨立鑑識結論確認:公開 GitHub 組織與面向使用者的生產儲存庫均無遭竄改或植入後門的跡象。

事件時間軸

日期/時間(UTC)事件
5 月 11 日 19:21惡意程式碼執行;憑證外洩後立即輪換(一組遺漏)
5 月 14 日 07:21攻擊者發出第一個惡意 commit
5 月 14 日 13:28開始竊取儲存庫資料
5 月 15 日 20:57勒索要求公開
5 月 16 日 08:30Grafana 安全團隊收到警報
5 月 16 日 17:39確認入侵,宣告事件
5 月 17 日暫停所有 GitHub Applications
5 月 18 日 03:08實施全域程式碼凍結
6 月 18 日Mandiant 完成獨立調查

修補與緩解

Grafana 在事後實施超過 1,500 次安全導向程式碼審查、280 次 GitHub Application 審計並剝除多餘權限、1,200 次儲存庫掃描,以及 2,300 次關鍵儲存庫的 Pull Request 審查。架構層面導入 Token Broker 系統,以短期憑證(short-lived tokens)取代長效憑證,並將細粒度存取控制套用至所有 CI/CD 流程。私有 GitHub 組織也進行切割,封存儲存庫隔離至獨立組織。

原始來源:Grafana Labs — Post-Incident Review: TanStack npm Supply Chain Ransom


pnpm 多個高危漏洞:修補檔路徑穿越與別名供應鏈攻擊(CVE-2026-50015 / CVE-2026-50016)

GitHub Advisory Database · 2026-06-27

2026 年 6 月 27 日,pnpm 官方發布安全公告,揭露兩個高危漏洞:CVE-2026-50015(CVSS 7.3,Critical)與 CVE-2026-50016(CVSS 8.8,High)。兩者均允許攻擊者透過精心構造的套件,在受害者執行 pnpm install 時對任意檔案系統路徑進行寫入或替換操作。修補版本為 10.34.011.4.0

漏洞機制

CVE-2026-50015GHSA-rxhj-4m44-96r4)位於 @pnpm/patch-package 的修補應用流程。當 pnpm install 處理 patchedDependencies 中指定的 .patch 檔時,diff header 中的檔案路徑被直接傳遞至 executeEffects 函式,未做任何路徑正規化或邊界驗證。攻擊者只需提交含有 ../../ 序列的惡意 patch 檔,即可在安裝者的檔案系統上任意寫入或刪除檔案,包括 SSH 金鑰、Shell 組態或 CI/CD 腳本。

CVE-2026-50016GHSA-hwx4-2j3j-g496)利用 pnpm 處理遞移依賴別名(transitive dependency alias)的邏輯缺陷。帶有路徑穿越序列的別名(如 @x/../../../../../.git/hooks)經由 path.join(parentPackageNodeModulesDir, alias) 拼接後落在 node_modules 之外,使攻擊者得以在 .git/hooks.husky.github/actions/ 等敏感路徑放置惡意符號連結。此漏洞即使在 --ignore-scripts 模式下也能觸發,無需執行任何生命週期腳本。

受影響版本

CVE受影響版本修補版本
CVE-2026-50015pnpm < 10.34.0 或 11.x < 11.4.010.34.0 / 11.4.0
CVE-2026-50016pnpm < 10.34.0 或 < 11.4.010.34.0 / 11.4.0

修補與緩解

立即升級至 pnpm@10.34.0pnpm@11.4.0 是最直接的緩解方式:

pnpm self-update
# 或指定版本安裝
npm install -g pnpm@10.34.0

在升級前,應審查專案中所有 patchedDependencies 的 patch 檔內容,確認 diff header 未包含 ../ 路徑序列。任何來自外部或不可信來源的 pull request 若含有 .patch 修改,均需特別謹慎評估。對於 CVE-2026-50016,應核查 pnpm-lock.yaml 中的別名定義,確認遞移依賴無可疑路徑穿越字串。

原始來源:DailyCVE — CVE-2026-50015DailyCVE — CVE-2026-50016


Netflix Lemur 重大漏洞鏈:SSRF 串聯 IDOR 導致 AWS IAM 憑證與 TLS 私鑰全面外洩(CVE-2026-55166)

GitHub Security Advisory · 2026-06-10

Netflix 開源的 TLS 憑證管理服務 Lemur 披露嚴重漏洞 CVE-2026-55166(CVSS 9.9,Critical,GHSA-v2wp-frmc-5q3v),影響所有 1.9.2 之前的版本。此漏洞實為三個授權缺陷的串聯利用鏈,可讓已通過 SSO 驗證的攻擊者提取 AWS IAM 工作憑證並永久持有任意已簽發的 TLS 私鑰,即使進行了所有權轉移也無法阻止。

漏洞機制

第一個缺陷位於 auth/views.py:300-308——SSO 自動佈建新的聯合身分時,系統預設將帳號標記為 active=True無需管理員審核也無角色限制,任何受信任 IdP 的使用者皆可立即取得系統存取權。

第二個缺陷是 ACME SSRF(acme_handlers.py:161-201)。建立 CA Authority 的端點接受使用者提供的 acme_url 參數,並發起伺服器端 HTTP 請求,但未實作 URL 白名單、RFC1918 過濾或 scheme 驗證。攻擊者可將 URL 指向 AWS IMDS(169.254.169.254),取得 Lemur worker 角色的 AWS STS 臨時憑證。

第三個缺陷是私鑰存取 IDOR(certificates/views.py:734)。私鑰讀取端點以 if g.current_user != cert.user 判斷授權:原始建立者即使在憑證所有權轉移後仍可永久讀取私鑰,導致「轉移所有權並撤銷」的標準處置流程完全失效。

受影響版本

  • 受影響:Lemur ≤ 1.9.0
  • 修補版本:1.9.2(修復 ACME SSRF URL 白名單、IDOR 授權邏輯、SSO 預設停用新帳號等六項安全問題)

修補與緩解

升級至 v1.9.2 修復了三項核心問題:ACME URL 以白名單驗證(拒絕內網與 link-local 位址)、私鑰存取改以當前所有者(cert.owner)進行 RBAC 授權,以及 SSO 自動佈建新帳號預設為 active=False 須管理員手動啟用。在升級前,應立即審查所有 ACME Authority 設定,確認 acme_url 欄位未指向內部網路位址,並稽核私鑰存取日誌以確認是否有異常歷史存取。

原始來源:GitHub Security Advisory GHSA-v2wp-frmc-5q3v


End of article
0
Would love your thoughts, please comment.x
()
x