Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sqlite-xfer-auth — SQLite 3.53.4 – Hoch – Lokal – Verbleibendes Privileg – INSERT SELECT xfer überspringt Quell-READ | Kitploit
Tools/GitHubGitHub/abraxas/sqlite-xfer-auth
SchwachstellenanalyseCode-AnalyseExploitationSicherheitsvirtualisierungPapers & ForschungDatenbanksicherheitLabs & Praxis
GitHubabraxas/sqlite-xfer-auth

sqlite-xfer-auth

SQLite 3.53.4 – Hoch – Lokal – Verbleibendes Privileg – INSERT SELECT xfer überspringt Quell-READ

Repository anzeigen
22vor 9 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - sqlite-xfer-auth

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

Write-up: https://abraxaslabs.tech/research/sqlite-xfer-auth

sqlite-xfer-auth

Klasse: Privilegien-Rest Reichweite: Lokal

SQLite 3.53.4 (b09c88c, SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc) nimmt für INSERT INTO dest SELECT * FROM src weiterhin den xferOptimization-Fast-Path. sqlite3AuthCheck ist SQLITE_INSERT nur auf dest. Die Kopie ruft niemals sqlite3Select oder das spaltenweise sqlite3AuthRead auf src auf. SELECT * FROM src wird verweigert. Das INSERT SELECT kopiert den Zeugen. Das Authorizer-Log ist INSERT:dest.

Der Authorizer ist deaktiviert, sofern der Embedder keinen installiert. Kein RCE. DRH behandelte Fossil d1cdb817 als 3.54-Feature, nicht als 3.53-Bugfix. 3.54.0 ist noch ein Entwurf.

IDnoch keine CVE
KlassePrivilegien-Rest (READ-verweigerte Tabellenkopie)
ReichweiteLokal (Embedder sqlite3_set_authorizer)
CWECWE-863
CVSSHoch: 7.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
ProduktSQLite (Hwaci)
Betroffen3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
Authlokales SQL gegen einen installierten Authorizer, der READ/SELECT auf src verweigert und INSERT auf dest erlaubt
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18850

Was ein Angreifer tun kann

INSERT INTO dest SELECT * FROM src vorbereiten, wenn dest schema-kompatibel ist und INSERT erlaubt ist. Rohe B-Tree-Datensätze verlassen eine READ-verweigerte Quelltabelle und landen in dest. Ein bloßes SELECT * FROM src ergibt SQLITE_AUTH. Der xfer-Pfad kompiliert das SELECT nicht, daher werden Quell-SQLITE_SELECT, tabellenweites SQLITE_READ und spaltenweises sqlite3AuthRead nie ausgelöst.

Erfordert einen Embedder, der sqlite3_set_authorizer als Gate für nicht vertrauenswürdiges SQL / Spalten-ACLs installiert hat. In der Standardbibliothek ist dieser Callback NULL. Kein RCE.

Wie ich es gefunden habe

Dieselbe Crit/High-Jagd auf 3.53.4 wie bei den anderen Resten auf dieser GA. Der Authorizer ist unter sqlite3_set_authorizer dokumentiert. INSERT-Auth gilt nur für die dest-Tabelle (insert.c:969). xfer wird vor sqlite3Select() genommen (insert.c:1020-1038). xferOptimization kopiert Datensätze. Grep von insert.c auf diesem Pin: ein sqlite3AuthCheck, kein sqlite3AuthRead. SQLITE_OMIT_XFER_OPT ist kein Standard-Build-Flag.

Forum 2026-05-21T03:31:22Z. Trunk d1cdb817cafd03a4 ist nur für 3.54. DRH: neues Feature, kommt nicht auf branch-3.53.

Lab

cd lab
./run.sh

Erstellt die Amalgamation 3.53.4 plus lab/xfer_auth.c. Setzt sqlite-xfer-auth zusammen. Bindet 127.0.0.1:18850. Das Oracle ist JSON vom prozessinternen Authorizer: SELECT * FROM src verweigert; INSERT INTO dest SELECT * FROM src ok; dest hat SQLITE-XFER-AUTH-WITNESS; Insert-Aktionen sind nur INSERT:dest.

SUCCESS sqlite-xfer-auth how=xfer-opt-skip-src-read select-src=denied insert-select=ok dest-has-witness=yes SQLITE-XFER-AUTH-WITNESS

Die Behebung

Autorisiere die Quelle so, wie es 3.54 d1cdb817 tut: Wenn ein Authorizer registriert ist, muss xferOptimization einen sqlite3AuthCheck für SELECT/READ auf src durchführen (oder den schnellen Pfad verweigern und auf sqlite3Select zurückfallen). Bis dahin müssen Embedder, die READ auf einer Tabelle verweigern (DENY), auch INSERT in jedes kompatible Ziel verweigern (DENY) oder mit -DSQLITE_OMIT_XFER_OPT kompilieren.

Referenzen

  • sqlite.org/src Tag version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • src/insert.c sqlite3AuthCheck INSERT dest, xferOptimization vor sqlite3Select
  • Forum 2026-05-21T03:31:22Z · Check-in d1cdb817cafd03a4
  • sqlite3_set_authorizer
Tool herunterladen