Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sqlite-cte-nest — SQLite 3.53.4 - 높음 - 로컬 - 크래시 - 중첩 CTE가 nNestSel 뷰 깊이 제한을 우회함 | Kitploit
도구/GitHubGitHub/abraxas/sqlite-cte-nest
Static AnalysisVulnerability AnalysisExploitationFuzzingPapers & ResearchDatabase Security
GitHubabraxas/sqlite-cte-nest

sqlite-cte-nest

SQLite 3.53.4 - 높음 - 로컬 - 크래시 - 중첩 CTE가 nNestSel 뷰 깊이 제한을 우회함

저장소 보기
6일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - sqlite-cte-nest

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

sqlite-cte-nest

분류: 크래시 도달 범위: 로컬

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

sqlite3ResultSetOfSelect는 nNestSel을 증가시키고 체인이 SQLITE_LIMIT_EXPR_DEPTH에 도달하면 VIEWs and/or subqueries nested too deep 오류를 발생시킵니다. 이 핀에서 중첩 VIEW는 이미 그 상한에 도달합니다. select.c:5754(sqlite3SrcItemAttachSubquery)의 CTE 연결은 nNestSel을 증가시키지 않습니다. 그러면 selectExpander / sqlite3WalkSelect가 CTE 체인을 재귀하면서 C 스택이 소진될 때까지 진행됩니다.

작은 CTE 체인은 행을 반환합니다. N=25000에서의 중첩 FROM은 파서 Recursion limit이며 크래시하지 않습니다. .limit expr_depth 20에서의 중첩 VIEW는 too-deep 오류를 냅니다. CTE N=25000은 ASan 스택 오버플로입니다. RCE는 아닙니다.

ID아직 CVE 없음
분류크래시 (selectExpander의 ASan 스택 오버플로; RCE는 입증되지 않음)
도달 범위로컬 (신뢰할 수 없는 SQL 또는 중첩 CTE 스키마)
CWECWE-674
CVSS높음: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
제품SQLite (GitHub 미러 sqlite/sqlite)
영향받음3.53.4 (b09c88c); 이후 트렁크 CTE nNestSel의 잔재
인증신뢰할 수 없는 SQL 또는 심어진 WITH 체인
라이선스GNU Affero GPL v3.0
랩127.0.0.1:18810 전용. ASan 아말감. 크래시 증거.

공격자가 할 수 있는 일

신뢰할 수 없는 .db에서 SQL로 또는 VIEW 본문으로 긴 CTE 체인을 공급합니다:

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

selectExpander는 각 CTE를 중첩 FROM 서브쿼리로 순회합니다. nNestSel은 전혀 움직이지 않습니다. 호스트 프로세스가 C 스택에서 죽습니다. 중첩 VIEW는 이미 상한이 적용되어 있습니다. 중첩 FROM은 파서 재귀 한계에 도달합니다. 이 잔재는 CTE 연결 경로입니다. SQLite는 CTE 이름을 셸로 평가하지 않습니다. RCE가 아니라 크래시입니다.

발견 방법

https://github.com/sqlite/sqlite 태그 https://github.com/sqlite/sqlite/releases/tag/version-3.53.4에 대한 스무 번의 소스 사냥. 이 핀(3f3fb9b638 / branch-3.53 38430aa5ed, 2026-06-16)에서는 중첩 VIEW에 상한이 적용되어 있었습니다. CTE 연결에는 적용되지 않았습니다. 트렁크 f547308713(2026-10-05)은 이 GA 이후입니다.

이미 기록된 잘못된 방향: 중첩 VIEW를 크래시로 취급(too-deep 오류를 냄); 중첩 FROM N=25000을 크래시로 취급(파서 Recursion limit); 5-CTE 체인을 상한이 적용된다는 증거로 삼음.

랩

cd lab
./run.sh

공식 sqlite-src-3530400 zip, ASan 아말감, compose sqlite-cte-nest, 게시 127.0.0.1:18810. 루프백에 바인딩하십시오. 다른 사람의 SQLite에 이걸 겨누지 마십시오.

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

수정

sqlite3ResultSetOfSelect가 VIEW에 대해 이미 하는 방식대로 CTE 연결 시 nNestSel을 증가시키고 SQLITE_LIMIT_EXPR_DEPTH에서 오류를 내십시오. 트렁크 f547308713(2026-10-05, "Limit the depth of recursion for CTEs using SQLITE_LIMIT_EXPR_DEPTH")이 그 부류의 패치입니다. 3.53.4에는 없습니다.

참고

  • https://github.com/sqlite/sqlite 태그 https://github.com/sqlite/sqlite/releases/tag/version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • 정식 https://sqlite.org/src SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
  • src/select.c sqlite3ResultSetOfSelect (nNestSel++), CTE 연결 :5754
  • src/walker.c sqlite3WalkSelectFrom 서브쿼리 순회
  • selectExpander / sqlite3SelectExpand
  • 포럼 버그 2026-10-04T04:58:58Z; 트렁크 f547308713
도구 다운로드