Forgejo v16.0: SSRF-Schutz, EXIF-Entfernung rückgängig gemacht, granulare Repository-Benachrichtigungen

Forgejo v16.0 ist erschienen. Die am 16. Juli 2026 veröffentlichte Version der selbst gehosteten Open-Source-Plattform für Git-Repositories bringt mehrere Sicherheitsverbesserungen, entfernt eine zuvor eingeführte Funktion aus Lizenzgründen und erweitert die Benachrichtigungsoptionen.

Dieser Artikel fasst einige der wichtigsten Änderungen zusammen. Eine vollständige Liste aller Neuerungen findet sich in den offiziellen Release Notes.

Breaking Changes

SSRF-Schutz für Mirrors gehärtet

Administratoren können über die Konfiguration [migrations].ALLOWED_DOMAINS, [migrations].LOCKED_DOMAINS und [migrations].ALLOW_LOCALNETWORKS festlegen, welche Hosts Forgejo für Git-Mirroring erreichen darf.

Bisher gab es jedoch einige Edge Cases, bei denen diese Einschränkungen nicht wirksam waren. Mehrere dieser Fälle wurden in dieser Version behoben.

Einer dieser Fälle betraf HTTP(S)-Zugriffe auf Repositorys: Git folgte HTTP-Redirects automatisch, wodurch die Einschränkungen der erlaubten Domains umgangen werden konnten.

Ab Forgejo v16.0 wird deshalb http.followRedirects=false gesetzt, sodass Git diesen Weiterleitungen nicht mehr automatisch folgt.

Mirrors, die auf entfernte Forgejo-Repositories zeigen, welche umbenannt oder zu einem anderen Besitzer verschoben wurden, lösen nun Fehler aus. Diese Mirrors müssen manuell auf die neue Repository-Adresse aktualisiert werden.

EXIF-Stripping entfernt

Forgejo v13.0 führte die Möglichkeit ein, EXIF-Metadaten aus Bildern zu entfernen, die als Benutzer-Avatar hochgeladen werden.

Dabei wurde jedoch versehentlich eine AGPL-lizenzierte Bibliothek verwendet. Um die Lizenzkonformität sicherzustellen, wurde diese Funktion nun wieder entfernt.

Das Forgejo-Team prüft derzeit alternative Lösungen.

Trusted Proxies in Containern

Forgejo-Container hatten bisher standardmäßig folgende Einstellung:

REVERSE_PROXY_TRUSTED_PROXIES = *

Diese Voreinstellung wurde geändert, da sie unter bestimmten Konfigurationen ein Sicherheitsrisiko darstellen konnte.

Wenn ENABLE_REVERSE_PROXY_AUTHENTICATION=true aktiviert war und der Forgejo-Port direkt aus nicht vertrauenswürdigen Netzwerken erreichbar blieb, konnte ein nicht autorisierter Benutzer den HTTP-Header X-WebAuth-User verwenden, um sich als beliebiger Benutzer auszugeben.

Das betrifft nur spezielle Konfigurationen. Wer Forgejo in einem Container betreibt und Reverse-Proxy-Authentifizierung verwendet, muss nun [security].REVERSE_PROXY_TRUSTED_PROXIES explizit setzen.

Beispiel:

FORGEJO__security__REVERSE_PROXY_TRUSTED_PROXIES=127.0.0.0/8,::1/128,172.16.X.X/X

oder in der app.ini:

[security]
REVERSE_PROXY_TRUSTED_PROXIES=127.0.0.0/8,::1/128,172.16.X.X/X

Neue Features

Granulare Repository-Watch-Einstellungen

Forgejo verbessert mit Version 16.0 die Benachrichtigungsverwaltung deutlich.

Bisher konnte ein Repository nur vollständig beobachtet oder ignoriert werden. Nun können Benutzer genauer auswählen, für welche Bereiche eines Repositorys sie Benachrichtigungen erhalten möchten.

Aktuell stehen drei Kategorien zur Verfügung:

Das neue Benachrichtigungssystem schafft außerdem die Grundlage für weitere Granularität in zukünftigen Versionen.

Weitere Verbesserungen

Neben den neuen Watch-Einstellungen bringt Forgejo v16.0 zahlreiche kleinere Verbesserungen:

Upgrade-Hinweise

Vor dem Upgrade empfiehlt Forgejo ein vollständiges Backup der Instanz. Die Breaking Changes betreffen vor allem:

LTS: v15.0.5

Parallel dazu wurde Forgejo v15.0.5 als LTS-Version veröffentlicht. Diese erhält weiterhin Unterstützung bis Juli 2027.

Fazit

Forgejo v16.0 konzentriert sich vor allem auf Sicherheit und bessere Kontrolle für Benutzer und Administratoren.

Die gehärteten Mirror-Regeln verbessern den Schutz vor SSRF-Angriffen, während die neuen Benachrichtigungsoptionen die tägliche Nutzung angenehmer machen. Zusätzlich bringt das Release viele kleinere Verbesserungen, die besonders bei größeren Forgejo-Installationen spürbar sein dürften.