Um Server-Side Request Forgery (SSRF) cego existe quando a configuração `[oauth2 client] UPDATE AVATAR = true` está habilitada. O problema ocorre porque o servidor busca a URL do avatar fornecida por um provedor OAuth2/OIDC — geralmente a claim `picture` — usando o cliente HTTP padrão do Go sem aplicar restrições de host ou IP de saída. Um usuário com baixos privilégios que consiga influenciar sua própria claim `picture` pode forçar o servidor Gitea a fazer requisições HTTP GET arbitrárias para endereços de loopback, endereços de rede privada RFC 1918 e endereços link-local IPv4, como `169.254.169.254`.
Detalhes técnicos incluem:
- **Função Vulnerável**: `oauth2UpdateAvatarIfNeed()` em `routers/web/auth/oauth.go` e `oauth2SignInSync()` em `routers/web/auth/oauth signin sync.go`.
- **Variável Vulnerável**: `gothUser.AvatarURL`.
Embora o problema seja primariamente cego, pois respostas que não sejam imagens são rejeitadas, o impacto aumenta se o servidor conseguir alcançar serviços de metadados de nuvem ou serviços internos que retornem dados de imagem válidos, que poderiam então ser armazenados como o avatar do usuário.