[ authorization ] [ registration ] [ restore account ]
Contact us
You can contact us by:
0day Today Exploits Market and 0day Exploits Database

Piwik 2.14.3 PHP Object Injection Vulnerability

Author
EgiX
Risk
[
Security Risk High
]
0day-ID
0day-ID-24497
Category
web applications
Date add
04-11-2015
CVE
CVE-2015-7816
Platform
php
-----------------------------------------------------------------------
Piwik <= 2.14.3 (DisplayTopKeywords) PHP Object Injection Vulnerability
-----------------------------------------------------------------------


[-] Software Link:

https://piwik.org/


[-] Affected Versions:

Version 2.14.3 and prior versions.  


[-] Vulnerability Description:

The vulnerability is caused by the DisplayTopKeywords() function
defined in the /plugins/Referrers/Controller.php script:

358.  function DisplayTopKeywords($url = "", $api)
359.  {
360.      // Do not spend more than 1 second fetching the data
361.      @ini_set("default_socket_timeout", $timeout = 1);
362.      // Get the Keywords data
363.      $url = empty($url) ? "http://" . $_SERVER["HTTP_HOST"] ...
364.      $api = $api . "&url=" . urlencode($url);
365.      $keywords = @unserialize(file_get_contents($api));

The content retrieved by the "file_get_contents()" function located at the URL defined in
the $api variable is passed directly to the "unserialize()" function at line 365, and this
can be exploited to inject arbitrary objects into the application scope, allowing remote
attackers to carry out Server-Side Request Forgery (SSRF) attacks, to include and execute
arbitrary PHP code, and possibly other attacks. Successful exploitation of this vulnerability
requires the application running with certain configuration settings allowing to manipulate
the value of the $api variable through HTTP headers (like Host or X-Forwarded-Host).


[-] Solution:

Update to version 2.15.0 or later.


[-] Disclosure Timeline:

[27/08/2015] - Vendor notified
[09/09/2015] - Issue fixed on the GitHub repository: http://git.io/vly3D
[06/10/2015] - CVE number requested
[14/10/2015] - CVE number assigned
[22/10/2015] - Version 2.15.0 released: https://piwik.org/changelog/piwik-2-15-0
[04/11/2015] - Public disclosure


[-] CVE Reference:

The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2015-7816 to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.

#  0day.today [2024-12-24]  #