Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2026-22874-gitea-ssrf-allowlist — Análise do CVE-2026-22874: lista de permissões SSRF incompleta no webhook/migração do Gitea (transição IPv6 e metadados de nuvem). Corrigido no Gitea 1.26.3. | Kitploit
Ferramentas/GitHubGitHub/m8seven/cve-2026-22874-gitea-ssrf-allowlist
Análise de VulnerabilidadesSegurança WebSegurança na NuvemPapers e PesquisaAprendizado e EducaçãoRecursos Curados
GitHubm8seven/cve-2026-22874-gitea-ssrf-allowlist

cve-2026-22874-gitea-ssrf-allowlist

Análise do CVE-2026-22874: lista de permissões SSRF incompleta no webhook/migração do Gitea (transição IPv6 e metadados de nuvem). Corrigido no Gitea 1.26.3.

Ver Repositório
21há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-22874 — Proteção SSRF incompleta na lista de permissões de webhooks e migração do Gitea

Análise técnica e referências para CVE-2026-22874 (GHSA-2r5c-gw76-rh3w): uma lista de permissões SSRF incompleta na entrega de webhooks e na migração de repositórios do Gitea, corrigida no Gitea 1.26.3.

Reportei essa classe de SSRF de forma independente aos mantenedores do Gitea e fui creditado como contribuidor (other) no advisory publicado; o relator principal do advisory é J. Leitschuh. Este repositório é uma análise defensiva e educacional do advisory público — o problema está corrigido.

  • Advisory: https://github.com/go-gitea/gitea/security/advisories/GHSA-2r5c-gw76-rh3w
  • Severidade: Crítica, CVSS 9.6 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N)
  • Afetados: Gitea <= 1.26.2 — Corrigido: 1.26.3
  • Fraqueza: CWE-918 (Server-Side Request Forgery)

Resumo

A lista de permissões SSRF padrão do Gitea (MatchBuiltinExternal, usada tanto na entrega de webhooks quanto nas migrações de repositórios) dependia de , da biblioteca padrão do Go, que reconhece apenas RFC 1918 (, , ) e RFC 4193 (). Diversas faixas de endereços comumente usadas para serviços de metadados de nuvem, redes internas e mecanismos de transição IPv6 não são "privadas" segundo essa definição e, portanto, passavam pelo filtro "externo", permitindo que um usuário autenticado fizesse o servidor emitir requisições HTTP para esses destinos.

net.IP.IsPrivate()
10/8
172.16/12
192.168/16
fc00::/7

Como a entrega de webhooks registra o status da resposta, os cabeçalhos e até ~1 MiB do corpo e os exibe na interface do histórico de webhooks, o SSRF não é cego: o atacante consegue ler o que o serviço interno visado retorna.

Faixas não cobertas por net.IP.IsPrivate()

FaixaSignificado
100.64.0.0/10RFC 6598 NAT de operadora (CGN)
168.63.129.16/32Azure WireServer / endpoint de metadados de instância
64:ff9b::/96RFC 6052 NAT64 (pode incorporar 169.254.169.254, ex.: AWS IMDS)
2001::/32RFC 4380 Teredo
2002::/16RFC 3056 6to4

As formas IPv6 com mapeamento IPv4 dos endereços acima são afetadas da mesma forma.

Um usuário autenticado que possa criar ou modificar um webhook (ou iniciar uma migração) pode, portanto, alcançar endpoints de metadados de nuvem — por exemplo, AWS IMDS por meio de um mapeamento NAT64, ou o Azure WireServer em 168.63.129.16 — e serviços acessíveis apenas internamente, e então ler a resposta pela visualização do histórico de webhooks.

Causa raiz

A política padrão é MatchBuiltinExternal na verificação HostMatchList do Gitea, que considerava permitido qualquer endereço unicast global não IsPrivate():

root@kitploit:~
case MatchBuiltinExternal:
    if ip.IsGlobalUnicast() && !ip.IsPrivate() {
        return true
    }

net.IP.IsPrivate() não é uma fronteira de segurança para "externo": ela não considera NAT de operadora, endpoints de metadados de nuvem ou faixas de transição IPv6 que podem ser roteadas para destinos internos ou de metadados.

Correção

Corrigido no Gitea 1.26.3 com a extensão do filtro embutido para bloquear as faixas adicionais acima. Os operadores devem atualizar para a versão 1.26.3 ou posterior. Como defesa em profundidade:

  • restrinja os destinos de saída de webhooks e migrações por meio das configurações de lista de permissões / lista de bloqueio;
  • aplique controles de egresso de rede ao redor do host do Gitea;
  • em instâncias de nuvem, desative o IMDSv1 e exija IMDSv2 (ou o equivalente do provedor).

Referências

  • GHSA-2r5c-gw76-rh3w — https://github.com/go-gitea/gitea/security/advisories/GHSA-2r5c-gw76-rh3w
  • CVE-2026-22874
  • CWE-918: Server-Side Request Forgery (SSRF)
Baixar ferramenta