Summary
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.
Details
Here is the function implementation of the secure New Migration functionality.

Here is the function implementation of the Mirror Settings without any validation.

PoC
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.

Impact
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.
References
Summary
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.
Details
Here is the function implementation of the secure New Migration functionality.

Here is the function implementation of the Mirror Settings without any validation.

PoC
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.

Impact
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.
References