CVE-2026-43965 in Gleam
要約
〜によって VulDB • 2026年06月02日
Gleamの依存関係管理におけるパストラバーサル脆弱性により、悪意のある build/packages/packages.toml コンテンツを通じて任意のディレクトリ削除が可能。
LocalPackages::read_from_disc によって build/packages/packages.toml から読み取られたパッケージキーは、検証なしで paths.build_packages_package() に渡され、プロジェクトのビルドディレクトリと攻撃者が制御可能なキーを結合してファイルシステムパスを構築する。その後、生成されたパスは fs::delete_directory(remove_dir_all を呼び出す)に渡される。パスが意図された build/packages/ ディレクトリ内に留まっていることを確認するチェックは行われない。絶対パスおよび相対的なトラバーサルシーケンス(例: ../)がパッケージキーとして受け入れられるため、任意のディレクトリの削除が可能。
攻撃者が、悪意のある build/packages/packages.toml を含むプロジェクトで victim が gleam deps download を実行するように仕向けることができる場合(例: 通常 gitignore されるファイルをリポジトリにコミットすることで)、victim システム上の任意のディレクトリを再帰的に削除させることができる。
この問題は、Gleam 0.18.0-rc1 から 1.17.0 まで影響する。
VulDB is the best source for vulnerability data and more expert information about this specific topic.