Submit #891889: Forgejo 15.0.4 SSRFinfo

TitelForgejo 15.0.4 SSRF
BeschreibungForgejo 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.
Quelle⚠️ https://codeberg.org/forgejo/forgejo/issues/13433
Benutzer
 spooky (UID 96038)
Einreichung15.07.2026 15:28 (vor 2 Monaten)
Moderieren29.08.2026 21:04 (2 months later)
StatusAkzeptiert
VulDB Eintrag397072 [Forgejo bis 15.0.4 Repository Migration is_migrate_allowed.go net.LookupIP erweiterte Rechte]
Punkte19

Do you need the next level of professionalism?

Upgrade your account now!