重要な脆弱性情報 重大な脆弱性: テンプレートリポジトリの評価時に、リポジトリ外のシンボリックリンク先への書き込みを防止する CVSS スコア: 9.5 (重大) 修正措置: パッチが提供済み 詳細説明: テンプレートリポジトリに基づいてリポジトリを作成する際、Forgejo はテンプレートリポジトリのファイル内容を読み取り、ファイル内のコンテンツにある変数を展開し、新しく作成されたリポジトリに対して新しいファイルを書き込みます。もしテンプレートリポジトリ内のファイルがリポジトリ外のファイルへのシンボリックリンクである場合、Forgejo はそのシンボリックリンクを辿って読み取り、内容を展開し、シンボリックリンクのターゲットに対して書き込みを行います。 中程度の脆弱性: .forgejo/template がリポジトリ外のコンテンツから生成されるのを防止する CVSS スコア: 6.9 (中程度) 修正措置: パッチが提供済み 詳細説明: テンプレートリポジトリに基づいてリポジトリを作成する際、Forgejo はリポジトリ内の ファイルの内容を読み取って、テンプレート化するファイルを特定します。もしこのファイルがリポジトリ外のファイルへのシンボリックリンクである場合、Forgejo はそのシンボリックリンクを辿ってファイルを読み取ります。この問題は、新しいリポジトリ内のサンドボックスファイルを通じてアクセス可能になることで、既知のシンボリックリンク攻撃やパスTraversal攻撃を防止します。 中程度の脆弱性: LFS トークンが解析できない場合にエラーを返す CVSS スコア: 6.3 (中程度) 修正措置: パッチが提供済み 詳細説明: LFS を有効化した Forgejo インスタンスにおいて、かつ (デフォルト設定ではありません)が設定されている場合、ユーザーは事前の OID(Object ID)を知っている限り、読取権限がないプライベートリポジトリの LFS ファイルをダウンロードできます。この問題は、LFS トークンが無効な場合に不整合な状態を返すのではなく、適切にエラーを返すことで修正されます。 低レベルの脆弱性: 有効な GPG 署名付きコミットの場合、コミット API がユーザーの非公開メールアドレスを漏洩しないことを確認する CVSS スコア: 2.3 (低レベル) 修正措置: パッチが提供済み 詳細説明: API を介して署名付き GPG コミットにアクセスする際、コミットの検証情報は フィールドを通じて著者のメインメールアドレスを公開しており、これは著者がメールアドレスの非公開を希望する意図に反していました。この問題は、Git リポジトリに保存されている内容や で返される内容と整合性のある署名者の身份を返すようにすることで修正されました。これにより、アカウントの非公開メールアドレスの漏洩が防がれます。