Piwik <= 2.14.3 (DisplayTopKeywords) PHP Object Injection Vulnerability

2015.11.05
Credit: Egidio Romano
Risk: High
Local: No
Remote: Yes
CWE: CWE-Other


CVSS Base Score: 7.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

----------------------------------------------------------------------- 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. [-] Original Advisory: http://karmainsecurity.com/KIS-2015-10

References:

http://karmainsecurity.com/KIS-2015-10


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top