CVE-2026-44881
Portainer: Stack 自動更新における Git シンボリックリンク注入による任意ファイル読み取り
- 公開済み
- 2026/05/28
- 更新済み
- 2026/05/29
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 今後 30 日間
- パーセンタイル
- 35.5%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Portainer Community Edition は、Docker、Swarm、Kubernetes、ACI 環境を管理するために使用できる、コンテナ化されたアプリケーション向けの軽量なサービス提供プラットフォームです。2.33.0 から 2.33.8 より前、2.39.2 より前、および 2.41.0 より前のバージョンでは、Portainer は Git リポジトリからのスタックのデプロイをサポートしています。Git 連携スタックが作成または更新されると、Portainer は go-git v5 を使用してリポジトリをクローンします。go-git v5 は、モード 0o120000 (シンボリックリンク) の Git ブロブエントリを、os.Symlink を介してホストのファイルシステム上の実際の OS シンボリックリンクに変換します。シンボリックリンクになることをブロックされている唯一のエントリは .gitmodules であり、それ以外のすべてのパスは検証なしでシンボリックリンクとして作成されます。その後、Portainer の GET /api/stacks/{id}/file エンドポイントは、os.ReadFile を使用してスタックのエントリポイントを読み取ります。os.ReadFile は OS のシンボリックリンクを透過的に追跡します。docker-compose.yml が任意のファイルシステムパスへのシンボリックリンクとして含まれるリポジトリは、HTTP レスポンス内にシンボリックリンクのターゲットの内容がそのまま返される原因となります。Portainer CE のデフォルト構成では、Git 連携スタックを作成または更新する権限を持つすべての認証済みユーザーが、Portainer プロセスがアクセス可能な任意のファイルを読み取ることができます。この脆弱性は 2.33.8、2.39.2、2.41.0 で修正されています。
ソース
1- CVE-2026-44881_exploitエクスプロイト
CVE-2026-44881用の単一スクリプトエクスプロイトで、.git認証情報の漏洩、Portainer Git-symlinkインジェクション、任意のホストファイル読み取り、および認可されたテストのためのSSHアクセスを連鎖させます。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。