Lucene search
K

Piwik 2.14.3 PHP Object Injection Vulnerability

🗓️ 04 Nov 2015 00:00:00Reported by EgiXType 
zdt
 zdt
🔗 0day.today👁 230 Views

Piwik PHP Object Injection Vulnerability in DisplayTopKeywords Functio

Related
Code
ReporterTitlePublishedViews
Family
FreeBSD
piwik -- multiple vulnerabilities
17 Nov 201500:00
freebsd
CNVD
Piwik PHP Object Injection Vulnerability
18 Nov 201500:00
cnvd
CVE
CVE-2015-7816
16 Nov 201519:00
cve
Cvelist
CVE-2015-7816
16 Nov 201519:00
cvelist
Debian CVE
CVE-2015-7816
16 Nov 201519:00
debiancve
EUVD
EUVD-2015-7714
7 Oct 202500:30
euvd
Tenable Nessus
FreeBSD : piwik -- multiple vulnerabilities (11351c82-9909-11e5-a9c8-14dae9d5a9d2)
3 Dec 201500:00
nessus
NVD
CVE-2015-7816
16 Nov 201519:59
nvd
Packet Storm
Piwik 2.14.3 PHP Object Injection
4 Nov 201500:00
packetstorm
Prion
Server side request forgery (ssrf)
16 Nov 201519:59
prion
Rows per page
-----------------------------------------------------------------------
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 [2018-04-05]  #

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation