Go · gogs.io/gogs
Gogs has the ability to import local repositories via Mirror Settings
The Gogs Mirror Settings functionality provide an alternative way from the well protected New Migration functionality for any authenticated users to import local repositories. This issue stems from a lack of validation of SaveAddress function.
Here is the function implementation of the secure New Migration functionality.
Here is the function implementation of the Mirror Settings without any validation.
The New Migration feature correctly blocked my attempt to import a local repository.
But if I create a normal migration with a valid repository.
Then, I could use the Mirror Settings feature under the Repository Settings sync a local repository.
Here is the result after the sync.
Users can import local repositories from the server's filesystem, which allows accessing any repository the git user has access to. There is also a potential issue of blind SSRF.
Is your project exposed to this? Stateward checks every dependency on every pull request and flags it only if your code actually reaches it.
Check my repoSources: CISA KEV (public domain), OSV.dev & GitHub Advisory Database (CC-BY-4.0), FIRST EPSS, NVD/CWE (public domain). Served live from the Stateward advisory database.