ID PACKETSTORM:134187 Type packetstorm Reporter Tim Coen Modified 2015-11-03T00:00:00
Description
`Security Advisory - Curesec Research Team
1. Introduction
Affected Product: Chyrp CMS 2.5.2
Fixed in: not fixed
Fixed Version Link: n/a
Vendor Github: https://github.com/chyrp/chyrp
Vulnerability Type: XSS
Remote Exploitable: Yes
Reported to vendor: 09/01/2015
Disclosed to public: 10/07/2015
Release mode: Full Disclosure
CVE: n/a
Credits Tim Coen of Curesec GmbH
2. Vulnerability Description
There is an XSS vulnerability in Chyrp CMS 2.5.2. With this, it is possible to
steal cookies, bypass CSRF protection, or inject JavaScript keyloggers.
The vulnerability exists because the key of all GET arguments is echoed without
encoding.
3. Proof of Concept
http://localhost/chyrp/themes/firecrest/images/dots-green.gif?"></script><script>alert(1)</script>=1
4. Code
/includes/class/Theme.php:231
public function javascripts() {
$config = Config::current();
$route = Route::current();
$args = "";
foreach ($_GET as $key => $val)
if (!empty($val) and $val != $route->action)
$args.= "&".$key."=".urlencode($val);
$javascripts = array($config->chyrp_url."/includes/lib/gz.php?file=jquery.js",
$config->chyrp_url."/includes/lib/gz.php?file=plugins.js",
$config->chyrp_url.'/includes/javascript.php?action='.$route->action.$args);
5. Solution
This issue was not fixed by the vendor.
6. Report Timeline
09/01/2015 Informed Vendor about Issue (no reply)
09/22/2015 Reminded Vendor of disclosure date (no reply)
10/07/2015 Disclosed to public
Blog Reference:
http://blog.curesec.com/article/blog/Chyrp-CMS-252-XSS-61.html
`
{"id": "PACKETSTORM:134187", "type": "packetstorm", "bulletinFamily": "exploit", "title": "Chyrp CMS 2.5.2 Cross Site Scripting", "description": "", "published": "2015-11-03T00:00:00", "modified": "2015-11-03T00:00:00", "cvss": {"vector": "NONE", "score": 0.0}, "href": "https://packetstormsecurity.com/files/134187/Chyrp-CMS-2.5.2-Cross-Site-Scripting.html", "reporter": "Tim Coen", "references": [], "cvelist": [], "lastseen": "2016-11-03T10:19:23", "viewCount": 2, "enchantments": {"score": {"value": 0.1, "vector": "NONE", "modified": "2016-11-03T10:19:23", "rev": 2}, "dependencies": {"references": [], "modified": "2016-11-03T10:19:23", "rev": 2}, "vulnersScore": 0.1}, "sourceHref": "https://packetstormsecurity.com/files/download/134187/chyrpcms252-xss.txt", "sourceData": "`Security Advisory - Curesec Research Team \n \n1. Introduction \n \nAffected Product: Chyrp CMS 2.5.2 \nFixed in: not fixed \nFixed Version Link: n/a \nVendor Github: https://github.com/chyrp/chyrp \nVulnerability Type: XSS \nRemote Exploitable: Yes \nReported to vendor: 09/01/2015 \nDisclosed to public: 10/07/2015 \nRelease mode: Full Disclosure \nCVE: n/a \nCredits Tim Coen of Curesec GmbH \n \n2. Vulnerability Description \n \nThere is an XSS vulnerability in Chyrp CMS 2.5.2. With this, it is possible to \nsteal cookies, bypass CSRF protection, or inject JavaScript keyloggers. \n \nThe vulnerability exists because the key of all GET arguments is echoed without \nencoding. \n \n3. Proof of Concept \n \n \nhttp://localhost/chyrp/themes/firecrest/images/dots-green.gif?\"></script><script>alert(1)</script>=1 \n \n4. Code \n \n \n/includes/class/Theme.php:231 \npublic function javascripts() { \n$config = Config::current(); \n$route = Route::current(); \n \n$args = \"\"; \nforeach ($_GET as $key => $val) \nif (!empty($val) and $val != $route->action) \n$args.= \"&\".$key.\"=\".urlencode($val); \n \n$javascripts = array($config->chyrp_url.\"/includes/lib/gz.php?file=jquery.js\", \n$config->chyrp_url.\"/includes/lib/gz.php?file=plugins.js\", \n$config->chyrp_url.'/includes/javascript.php?action='.$route->action.$args); \n \n5. Solution \n \nThis issue was not fixed by the vendor. \n \n6. Report Timeline \n \n09/01/2015 Informed Vendor about Issue (no reply) \n09/22/2015 Reminded Vendor of disclosure date (no reply) \n10/07/2015 Disclosed to public \n \n \nBlog Reference: \nhttp://blog.curesec.com/article/blog/Chyrp-CMS-252-XSS-61.html \n \n \n`\n"}