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
element-vector-drive-letter — Element Desktop v1.12.29 – Hoch – Lokal – Datei – Vektor: Protokoll liest Windows-Dateien außerhalb des asar-Jails | Kitploit
Tools/GitHubGitHub/abraxas/element-vector-drive-letter
SchwachstellenanalyseExploitationWebanwendungs-ExploitationSicherheitsvirtualisierungPenetrationstestsLabs & Praxis
GitHubabraxas/element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 – Hoch – Lokal – Datei – Vektor: Protokoll liest Windows-Dateien außerhalb des asar-Jails

Repository anzeigen
12vor 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 - element-vector-drive-letter

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  element-vector-drive-letter

Write-up: https://abraxaslabs.tech/research/element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 - Element Creations Ltd

Klasse: Dateilesen Reichweite: Lokal

apps/desktop/src/electron-main.ts registriert vector: als privilegiertes Dateiprotokoll. Die Jail-Prüfung besteht nur aus relTarget.startsWith("..") nach path.normalize(path.join(...pathname.split("/").slice(2))). Unter Windows ist ein Join aus C:, Windows, win.ini bereits C:\Windows\win.ini. Absolute Pfade beginnen nicht mit .., daher lässt die Prüfung sie durch. Auch der Hinweis von Electron zu benutzerdefinierten Protokollen lehnt path.isAbsolute ab. POSIX-path.join behandelt C: nicht als absolut, daher sind Linux und macOS nicht von diesem Überbleibsel betroffen. will-navigate lässt vector: durch.

Renderer-XSS, DevTools oder ein anderer lokaler Prozess kann fetch("vector://vector/webapp/C:/Windows/win.ini") ausführen und Dateien lesen, die der Element-Prozess öffnen kann.

IDnoch keine CVE
CWECWE-22 / CWE-73
CVSSHoch: 8.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Produktelement-web Desktop (apps/desktop)
Betroffenv1.12.29 (2d90d6b7b601ecb9ccdf81239a43b4396b4b0c9e). Nur Windows.
Authlokaler Renderer (DevTools / XSS)
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Was ein Angreifer tun kann

Renderer-XSS, DevTools oder ein anderer lokaler Prozess, der vector: erreichen kann. Das native Windows-Element-Desktop wurde nicht ausgeführt. Das Gadget kopiert den URL-Parser des Pins und verwendet Node path.win32.

PrivilegMethode / SinkRecon / Integrität / VerfügbarkeitIm Lab nachgewiesen oder abgeleitet
Eine Datei lesen, die der Element-Prozess öffnen kannfetch("vector://vector/webapp/C:/Windows/win.ini"). Die Jail-Prüfung besteht nur aus relTarget.startsWith(".."). Der Laufwerksbuchstaben-Join ist absolut, daher besteht die Prüfung. path.win32.resolve(asar, relTarget) ist C:\Windows\win.iniReconIm Lab am URL-Parser-Gadget nachgewiesen. Body ist ELEMENT-VECTOR-DRIVE-LETTER-WITNESS. Natives Desktop nicht ausgeführt
Derselbe Lesezugriff auf electron-config, Profile, Dateien anderer Benutzer mit derselben ACLDerselbe vector://vector/webapp/C:/...-FetchReconAbgeleitet. Im Lab wurde win.ini platziert, keine echten Secrets
Matrix-ATO, wenn der Hauptframe bereits auf der Festplatte befindliches Angreifer-HTML lädtwill-navigate lässt vector: durch. Feindliches HTML unter vector://vector erhält Preload / window.electron (Tokens, Seshat, clearStorage)IntegritätAbgeleitet aus webcontents-handler.ts und Preload. Im Lab wurde kein BrowserWindow navigiert
../-Traversal des asar-Baumsvector://vector/webapp/../n/aHier geschlossen. WHATWG-URL kollabiert dies; Handler gibt FILE_NOT_FOUND (-6) zurück
POSIX-/macOS-/Linux-Laufwerksbuchstaben-Fetchpath.posix.join belässt C:/Windows/win.ini unter asarn/aHier geschlossen. Gadget-POSIX 404, kein Witness
OS-RCE / LPEnodeIntegration: false, app.enableSandbox()n/aGeschlossen. Nicht dieses Überbleibsel

Gleiche Pin-Reste: Fragment-Guest-Wipe, Univention ICS javascript: href.

Wie ich es gefunden habe

Ich habe element-hq/element-web v1.12.29 nach dem GitHub-Release vom 22. Sep. 2026 gepinnt. Timeline-XSS, HTML-Export-XSS (GHSA-wqmv), Homepage-HTML (GHSA-wrcp), Widget-Media-Token (GHSA-3jm3) und Element-Call-Keys (GHSA-69q3) sind auf diesem Tag geschlossen. Das benutzerdefinierte Protokoll der Desktop-App prüft weiterhin nur startsWith("..").

new URL("vector://vector/webapp/C:/Windows/win.ini") behält C: als Pfadsegment. path.win32.join("C:", "Windows", "win.ini") ergibt C:\Windows\win.ini. Node path.win32.join(asar, abs) verkettet; path.win32.resolve verwirft das asar-Root.

Bereits festgehaltene Irrwege: ../ als Rest zu behandeln (WHATWG kollabiert es, Handler liefert 404); POSIX C: als denselben Bug zu bezeichnen (posix join bleibt unter asar); Dateilesen zu OS-RCE aufzublähen (Sandbox und nodeIntegration: false bleiben aktiv). Eine Reverse Shell. Theater.

Lab

Gadget des URL-Parsers. Node path.win32 vs. path.posix. Kein Windows-Element-Desktop-Prozess. Eingepflanzte /lab/oracle/win.ini steht stellvertretend für C:\Windows\win.ini. /lab/asar/index.html ist das asar-Gefängnis.

python3 element-vector-drive-letter-Abraxas-Labs.py

oder

cd lab
./run.sh

Ziele ausschließlich auf http://127.0.0.1:19610. Compose-Projekt element-vector-drive-letter. Der Stack wird nach dem Lauf abgebaut.

SUCCESS element-vector-drive-letter how=gadget win32-drive-letter=200 posix-drive-letter=404 control-dotdot=404 patched-isabs=404 ELEMENT-VECTOR-DRIVE-LETTER-WITNESS

Die Behebung

Nach der Normalisierung path.isAbsolute(relTarget) ablehnen und verlangen, dass path.resolve(baseDir, relTarget) unterhalb von path.resolve(baseDir) bleibt (path.relative, .. ablehnen).

Referenzen

  • github.com/element-hq/element-web Tag v1.12.29
  • electron-main.ts (registerFileProtocol)
  • webcontents-handler.ts (will-navigate)
  • In der Nähe gepatcht (nicht dieser Jail): GHSA-wqmv · GHSA-wrcp
  • Gleicher Pin: element-fragment-guest · element-ics-javascript
  • CWE-22

Lizenz

GNU Affero GPL v3.0. Siehe LICENSE. Nur Loopback-Lab. Keine Gewährleistung.

Tool herunterladen