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-cte-nest — SQLite 3.53.4 - Alta - Local - Crash - CTEs aninhadas ignoram o limite de profundidade de visualização nNestSel | Kitploit
Ferramentas/GitHubGitHub/abraxas/sqlite-cte-nest
Análise EstáticaAnálise de VulnerabilidadesExploraçãoFuzzingPapers e PesquisaSegurança de Banco de Dados
GitHubabraxas/sqlite-cte-nest

sqlite-cte-nest

SQLite 3.53.4 - Alta - Local - Crash - CTEs aninhadas ignoram o limite de profundidade de visualização nNestSel

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-cte-nest

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

sqlite-cte-nest

Classe: Crash Alcance: Local

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69, SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc) - Hwaci

sqlite3ResultSetOfSelect incrementa nNestSel e emite o erro VIEWs and/or subqueries nested too deep quando a cadeia atinge SQLITE_LIMIT_EXPR_DEPTH. VIEWs aninhadas nesta versão já atingem esse limite. A anexação de CTE em select.c:5754 (sqlite3SrcItemAttachSubquery) não incrementa nNestSel. selectExpander / sqlite3WalkSelect então recursam a cadeia de CTEs até a pilha C morrer.

Uma cadeia pequena de CTEs retorna uma linha. FROM aninhado em N=25000 é um Recursion limit do parser e não causa crash. VIEWs aninhadas em .limit expr_depth 20 emitem erro too-deep. CTE N=25000 é stack-overflow no ASan. Não é RCE.

IDsem CVE ainda
ClasseCrash (stack-overflow no ASan em selectExpander; RCE não demonstrado)
AlcanceLocal (SQL não confiável ou schema com CTE aninhada)
CWECWE-674
CVSSAlto: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
ProdutoSQLite (espelho no GitHub sqlite/sqlite)
Afetado3.53.4 (b09c88c); resquício do nNestSel de CTE do trunk posterior
AuthSQL não confiável ou uma cadeia WITH plantada
LicençaGNU Affero GPL v3.0
LabApenas 127.0.0.1:18810. Amalgamação ASan. Testemunha de crash.

O que um atacante pode fazer

Fornecer uma cadeia longa de CTEs, como SQL ou como corpo de VIEW em um .db não confiável:

WITH c0 AS (SELECT 1),
     c1 AS (SELECT * FROM c0),
     ...
     cN AS (SELECT * FROM cN-1)
SELECT * FROM cN;

selectExpander percorre cada CTE como uma subquery FROM aninhada. nNestSel nunca se move. O processo hospedeiro morre na pilha C. VIEWs aninhadas já estão limitadas. FROM aninhado atinge o limite de recursão do parser. Este resquício é o caminho de anexação de CTE. O SQLite não avalia os nomes das CTEs em um shell. Crash, não RCE.

Como eu encontrei

Vinte buscas no código-fonte de https://github.com/sqlite/sqlite tag https://github.com/sqlite/sqlite/releases/tag/version-3.53.4. VIEWs aninhadas estavam limitadas nesta versão (3f3fb9b638 / branch-3.53 38430aa5ed, 2026-06-16). A anexação de CTE não estava. O trunk f547308713 (2026-10-05) é posterior a este GA.

Caminhos errados já registrados: tratar VIEWs aninhadas como o crash (elas emitem erro too-deep); tratar FROM aninhado N=25000 como o crash (Recursion limit do parser); tomar uma cadeia de 5 CTEs como prova de que o limite se aplica.

Lab

cd lab
./run.sh

Zip oficial sqlite-src-3530400, amalgamação ASan, compose sqlite-cte-nest, publicado em 127.0.0.1:18810. Vincule-o ao loopback. Não aponte isto para o SQLite de outra pessoa.

SUCCESS sqlite-cte-nest how=asan-stack-overflow crash-n=25000 small-cte=ok nested-views=too-deep nested-from=rejected SQLITE-CTE-NEST-WITNESS

A correção

Incrementar nNestSel na anexação de CTE da mesma forma que sqlite3ResultSetOfSelect já faz para VIEWs, e emitir erro em SQLITE_LIMIT_EXPR_DEPTH. O trunk f547308713 (2026-10-05, "Limit the depth of recursion for CTEs using SQLITE_LIMIT_EXPR_DEPTH") é esse tipo de patch. Ele não está na 3.53.4.

Referências

  • https://github.com/sqlite/sqlite tag https://github.com/sqlite/sqlite/releases/tag/version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • Canônico https://sqlite.org/src SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
  • src/select.c sqlite3ResultSetOfSelect (nNestSel++), anexação de CTE :5754
  • src/walker.c sqlite3WalkSelectFrom percurso de subquery
  • selectExpander / sqlite3SelectExpand
  • Bug do fórum 2026-10-04T04:58:58Z; trunk f547308713
Baixar ferramenta