提出 #891889: Forgejo 15.0.4 SSRF情報

タイトルForgejo 15.0.4 SSRF
説明Forgejo restricts repository migration and mirror sources by rejecting loopback and private network destinations. This protection relies on a DNS lookup performed during URL validation (net.LookupIP). For plain Git migrations, however, the actual clone is performed by an external git subprocess. That subprocess performs its own DNS resolution when establishing the network connection and is not protected by Forgejo's connect-time IP validation (hostmatcher.NewDialContext). Because validation and connection perform independent DNS resolutions, an attacker controlling DNS responses (DNS rebinding) can return: a public IP during Forgejo's validation (request accepted), then 127.0.0.1 or another internal address when the Git subprocess connects. As a result, the migration succeeds even though a direct request to the same internal address is correctly rejected.
ソース⚠️ https://codeberg.org/forgejo/forgejo/issues/13433
ユーザー
 spooky (UID 96038)
送信2026年07月15日 15:28 (2 月 ago)
モデレーション2026年08月29日 21:04 (2 months later)
ステータス承諾済み
VulDBエントリ397072 [Forgejo 迄 15.0.4 Repository Migration is_migrate_allowed.go net.LookupIP 特権昇格]
ポイント19

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!