Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
sqlite-rsync-ssh — SQLite 3.53.4 sqlite3_rsync - Alta - Remoto - RCE - Injeção de comando no nome de arquivo SSH | Kitploit
Ferramentas/GitHubGitHub/abraxas/sqlite-rsync-ssh
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleRed TeamingLabs e Prática
GitHubabraxas/sqlite-rsync-ssh

sqlite-rsync-ssh

SQLite 3.53.4 sqlite3_rsync - Alta - Remoto - RCE - Injeção de comando no nome de arquivo SSH

Ver Repositório
há 6 diasAinda 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

Abraxas Labs - sqlite-rsync-ssh

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  sqlite-rsync-ssh

sqlite-rsync-ssh

Classe: RCE (injeção de comando) Alcance: Remoto (UI:R)

SQLite 3.53.4 (b09c88c) sqlite3_rsync coloca USER@HOST:PATH entre aspas para o /bin/sh -c local. O OpenSSH então junta com espaços o argv remoto para o shell de login sem essas aspas. Um ponto e vírgula, $(), crase ou | no PATH é executado como o UID remoto do SSH. Utilitário, não libsqlite3. O stack smash readPow2 x>16 do Ada Logics está fechado neste pin.

IDainda sem CVE
ClasseRCE (injeção de comando como o UID remoto do SSH)
AlcanceRemoto (a vítima executa sqlite3_rsync; UI:R)
CWECWE-78
CVSSAlto: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
ProdutoSQLite utilitário sqlite3_rsync
Afetado3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69, SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc)
Autenticaçãoa vítima executa sqlite3_rsync com um USER@HOST:PATH hostil
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1:18910. Testemunha de echo. Sem reverse shell.

O que um atacante pode fazer

Coloque ;, $(), crases ou | no caminho remoto de sqlite3_rsync USER@HOST:PATH. A vítima precisa executar o utilitário (UI:R). O comando extra é executado como o UID remoto do SSH.

append_escaped_arg(..., 1) coloca aspas simples para o /bin/sh -c local. Essas aspas são consumidas localmente. O OpenSSH concatena o argv restante em uma única string de comando remoto. O shell de login vê os metacaracteres sem aspas.

Isto não é libsqlite3. O sqlite3.c padrão não inclui este protocolo. O stack smash da réplica do Ada Logics (limite de expoente do readPow2) já está fechado na 3.53.4.

Como eu encontrei

Vinte buscas no código-fonte da tag version-3.53.4 do SQLite após a onda FTS5 / session da 3.53.2. A biblioteca padrão ainda tem outros resquícios (este pacote é o utilitário rsync). tool/sqlite3_rsync.c popen2 executa /bin/sh -c. hostSeparator divide no primeiro dois-pontos. O retorno de append_escaped_arg nunca é verificado.

Caminhos errados: tratar o stack smash do Ada Logics como ainda aberto; montar um lab de reverse shell; falar com um sshd real; fixar o rascunho 3.54.0; chamar isto de RCE de biblioteca.

Lab

cd lab
./run.sh

Compila sqlite3_rsync a partir do zip oficial do código-fonte 3.53.4. O falso OpenSSH junta o argv após o dest. Origem lab@host:;echo SQLITE-RSYNC-SSH-WITNESS>/work/sandbox/pwned.txt. O comando remoto tinha ;echo sem aspas. Bind em loopback.

SUCCESS sqlite-rsync-ssh how=openssh-argv-join dest=lab@host remote-has-semicolon=yes SQLITE-RSYNC-SSH-WITNESS

A correção

Codificar em hexadecimal os nomes de arquivo enviados ao par (isFilename==2 / --encoded-filenames) da forma como o trunk b0db2db (2026-10-07, ANT-2026-31X9HVRR) faz após este GA. USER@HOST e --ssh permanecem com quoting sh local. Não confie que aspas simples locais sobrevivam à junção de argv do OpenSSH.

Referências

  • https://sqlite.org/src pin https://github.com/sqlite/sqlite/tree/version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • https://github.com/sqlite/sqlite/blob/version-3.53.4/tool/sqlite3_rsync.c append_escaped_arg, popen2, remote ORIGIN/REPLICA SSH argv
  • https://sqlite.org/rsync.html
  • Trunk hex-encode b0db2db / Fossil eaec2f7f (2026-10-07)
Baixar ferramenta