
🎩 🤟🏻 [P1-$10,000] Google Chrome, Microsoft Edge und Opera - Schwachstelle gemeldet von Maciej Pulikowski - Leck von Systemumgebungsvariablen - CVE-2022-0337
Die erfolgreiche Ausnutzung dieser Schwachstelle kann zum Leck von Geheimnissen des Benutzers führen, die in Systemumgebungsvariablen gespeichert sind. Ein Sicherheitsfehler wurde in der Chromium-Version 92 gefunden und in Version 97 behoben. Es gibt mehrere Webbrowser, die auf der Chromium-Engine basieren, z. B. Google Chrome, Microsoft Edge, Opera und Brave. Alle waren verwundbar, mit Ausnahme von Brave. Die Schwachstelle liegt in der File System Access API, genauer gesagt in der Methode window.showSaveFilePicker().
CVE-Version: CVE-2022-0337
Credits: Maciej Pulikowski
Belohnung: 10.000 $ vom Google VRP
Überprüfe deine Webbrowser-Version:
chrome://version/edge://version/opera://updateNUR WINDOWS ist verwundbar. Linux und Mac sind sicher.
https://www.youtube.com/watch?v=q7OIEWtalg8
Danke für die Daumen hoch und Abos 😀👍

let a = await window.showSaveFilePicker({suggestedName:'%username%'});
a.name;
In dem Beispiel wird die Umgebungsvariable %username% verwendet. Sie gibt den angemeldeten Windows-Benutzernamen zurück. Darüber hinaus gibt es viel interessantere Umgebungsvariablen:
Hier sind einige Beispiele:
und viele mehr...
Der Angreifer könnte also Zugriff auf die AWS-Dienste des Ziels, das Github-Konto oder den Binance-Token für die API (Geld abheben) und mehr erhalten...
Schau dir weitere Geheimnisse in Umgebungsvariablen in meinem Repository an:
🦄🔒 Geniale Liste von Geheimnissen in Umgebungsvariablen 🖥️
Das vorherige Beispiel wird in den lokalen Google Chrome Devtools ausgeführt.
Natürlich könnte der Angreifer eine spezielle HTML-Datei (Website) erstellen, um diese Schwachstelle erfolgreich auszunutzen.
env.html - ist ein Beispiel für speziell erstelltes HTML in diesem Repository.
Aber muss der Benutzer wirklich eine Datei herunterladen?
Ja, allerdings kann der Angreifer eine Website erstellen, die den Benutzer dazu verleitet, die ENTER-Taste auf der Tastatur für 2 Sekunden zu halten, um den Dialog zum Speichern der Datei auszuführen und zu akzeptieren. Da der Windows-Dialog standardmäßig die Schaltfläche „Speichern“ fokussiert, wird die Datei mit einem bloßen Blinzeln gespeichert.
*.gif stammt von Opera (Chrome und Edge waren bereits behoben)
Zusammenfassend kann das Halten der ENTER-Taste auf der Tastatur für 2 Sekunden dazu führen, dass die Systemumgebungsvariablen des Benutzers durchsickern. Dies ist ein erhebliches Problem, da der Benutzer wichtige Geheimnisse in Systemumgebungsvariablen speichern könnte, z. B. den Zugang zu seinen AWS-Diensten, seinem GitHub-Konto oder Binance
Ich habe mir die Herausforderung gestellt, den Fehler zu beheben. Hier möchte ich betonen, dass ich kein C++-Entwickler bin 😎.
Quelle: https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c9
Eine Lösung bestand darin, einfach das Zeichen % in suggestedName durch _ zu ersetzen. Das sollte das Problem lösen.

könnte eingefügt werden in:
und die Ergebnisse sind:


Tatsächlich hat es das Problem gelöst, aber es war nicht der beste Ort, um den Code einzufügen 😋. Ich war jedoch sehr glücklich, es selbst reparieren zu können 😎.
Die endgültige Lösung findest du hier:
https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c12
Dieses Projekt darf nur zu Bildungszwecken verwendet werden. Die Verwendung dieser Software gegen Zielsysteme ohne vorherige Genehmigung ist illegal, und für Schäden, die durch Missbrauch dieser Software entstehen, übernimmt der Autor keine Verantwortung.
![]() | ![]() | ![]() | ![]() | ![]() |
|---|
| 92-96 Verwundbar ❗️❗️ 97+ Gepatcht (sicher) ✔ | 92-96 Verwundbar ❗️❗️ 97+ Gepatcht (sicher) ✔ | 78-82 Verwundbar ❗️❗️ 82 Gepatcht (sicher) ✔ | Sicher ✔ | Sicher ✔ |