Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
sqlite-fts5-securedel — SQLite 3.53.4 - 高 - ローカル - クラッシュ - FTS5 secure-delete PutVarint フッターオーバーラン | Kitploit
ツール/GitHubGitHub/abraxas/sqlite-fts5-securedel
静的分析メモリフォレンジック脆弱性分析エクスプロイトファジングバイナリ解析論文と研究データベースセキュリティ
GitHubabraxas/sqlite-fts5-securedel

sqlite-fts5-securedel

SQLite 3.53.4 - 高 - ローカル - クラッシュ - FTS5 secure-delete PutVarint フッターオーバーラン

リポジトリを見る
289日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Abraxas Labs - sqlite-fts5-securedel

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

解説記事: https://abraxaslabs.tech/research/sqlite-fts5-securedel

sqlite-fts5-securedel

分類: クラッシュ 到達範囲: ローカル

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69) - Hwaci

fts5DoSecureDelete は nPg = iPgIdx の後、sqlite3Fts5PutVarint を使って FTS5 リーフフッターを再構築します。フッターからデコードされたキーオフセットは元の blob に対して上限が設けられていないため、PutVarint のカーソルが nn + FTS5_DATA_PADDING (20) を越えて進んでしまいます。典型的な追加設定は SQLITE_ENABLE_FTS5 です。攻撃用データベースはすでに secure-delete を使用していました。

これは後期トランク Fossil 9cd4f9e920 / Git d9de6eedbe91 / branch-3.53 34171bee08 (2026-08-11, YEONBA) の残存物です。このチェックインは本 GA より後に行われたものです。これは CVE-2026-11824 ではありません: このピンでは fts5LeafRead がすでに szLeaf<4 を拒否します。

IDCVE 未割当
分類クラッシュ (サイズ 1 の ASan WRITE。RCE は実証されず)
到達範囲ローカル (細工された FTS5 データベースを開き、その後 DELETE/フラッシュ)
CWECWE-787
CVSSHigh: 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 SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
認証不要 (信頼できないインデックスファイル)
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1:18860 のみ。ASan ヒープ書き込み。RCE ペイロードなし。

攻撃者ができること

すでに secure-delete を使用していた細工された FTS5 データベースを開き、その後 DELETE (または secure-delete をフラッシュする任意の書き込み) を行うと、fts5DoSecureDelete が Fts5Data を越えてフッターの varint を書き込みます。クラッシュ / サイズ 1 の ASan ヒープ書き込みです。RCE は実証されていません。CVE-2026-11824 ではありません。

MATCH のみではこのシンクには到達しません。トリガーは DELETE/フラッシュです。細工されたファイルは SQLITE_DBCONFIG_DEFENSIVE をオフにする必要はありません。

発見の経緯

他のデータベースや HTTP サーバーのピン留めの後、SQLite 3.53.4 に対して 20 回のソースハントを行いました。CVE-2026-11822 / CVE-2026-11824 はこのツリーでは修正済みです (fts5LeafRead の szLeaf<4)。YEONBA による後期トランクの境界は修正されていません。3.53.4 の fts5corruptB.test ファイルは依然としてテスト 3.2 で終わっており、トランクのテスト 4.0 は hexdb に加えて DELETE FROM t WHERE rowid = 1 です。

iPgIdx -= nShift;
nPg = iPgIdx;
fts5PutU16(&aPg[2], iPgIdx);

for(iIdx=0; iIdx<nIdx; /* no-op */){
  u32 iVal = 0;
  iIdx += fts5GetVarint32(&aIdx[iIdx], iVal);
  iKeyIn += iVal;
  if( iKeyIn!=iDelKeyOff ){
    int iKeyOut = (iKeyIn - (iKeyIn>iOff ? nShift : 0));
    nPg += sqlite3Fts5PutVarint(&aPg[nPg], iKeyOut - iPrevKeyOut);
    iPrevKeyOut = iKeyOut;
  }
}

ext/fts5/fts5_index.c:5514-5544。iKeyIn は 32 ビットの int です。後のトランクでは元の nPg を保持し、i64 iKeyIn を使用し、PutVarint の前に iKeyIn>nPg を拒否します。

誤った方向性: CVE-2026-11824 をこのバグとして扱うこと。DELETE ではなく MATCH を使用すること。szLeaf を範囲内に保ちオーバーフローしなかったライブの CREATE/INSERT プラント。ペイロードなしで Winter の WAL と FTS5 の連鎖を RCE と呼ぶこと。

ラボ

cd lab
./run.sh

公式の sqlite-src-3530400 zip からの ASan amalgamation、-DSQLITE_ENABLE_FTS5。Hexdb lab/yeonba-fts5corruptB-4.hexdb(trunk fts5corruptB.test 4.0)が必要。ループバック 127.0.0.1:18860 にバインド。Compose プロジェクト sqlite-fts5-securedel。

SUCCESS sqlite-fts5-securedel how=asan-heap-buffer-overflow-write-1-fts5DoSecureDelete db=yeonba-hexdb bytes=5120 SQLITE-FTS5-SECUREDEL-WITNESS

ASan フレーム: fts5PutVarint64 -> sqlite3Fts5PutVarint -> fts5DoSecureDelete / fts5FlushSecureDelete。

修正

元の nPg を保持する。iKeyIn を i64 に拡張する。sqlite3Fts5PutVarint の前に iKeyIn>nPg を拒否する。これが Fossil 9cd4f9e920 / branch-3.53 34171bee08 である。これを 3.53 にチェリーピックする。

参考情報

  • https://sqlite.org/src タグ version-3.53.4 Git b09c88c14082339b66c7b7158d609a771e64ca69
  • ext/fts5/fts5_index.c fts5DoSecureDelete、fts5FlushSecureDelete、fts5LeafRead
  • ext/fts5/fts5_varint.c sqlite3Fts5PutVarint
  • トランク修正 Fossil 9cd4f9e920 / Git d9de6eedbe91 / branch-3.53 34171bee08 (2026-08-11, YEONBA)
  • CVE-2026-11824 はクローズ済みの szLeaf<4 親であり、この残存問題ではない
ツールをダウンロード