ObjectPlanet Opinio 7.12 Cross Site Scripting

2021.07.30
Credit: Ang Kar Min
Risk: Low
Local: No
Remote: Yes
CWE: CWE-79


CVSS Base Score: 4.3/10
Impact Subscore: 2.9/10
Exploitability Subscore: 8.6/10
Exploit range: Remote
Attack complexity: Medium
Authentication: No required
Confidentiality impact: None
Integrity impact: Partial
Availability impact: None

# Exploit Title: ObjectPlanet Opinio 7.12 allows Cross-Site Scripting # Vendor Homepage: https://www.objectplanet.com/opinio/ # Software Link: https://www.objectplanet.com/opinio/ # Exploit Authors: Ang Kar Min (https://www.linkedin.com/in/karmin-ang) # CVE: CVE-2020-26563 # Timeline - September 2019: Initial discovery - July 2020: Reported to ObjectPlanet - August 2020: Fix/patch provided by ObjectPlanet - July 2021: Published CVE-2020-26563 # 1. Introduction Opinio is a survey management solution by ObjectPlanet that allows surveys to be designed, published and managed. # 2. Vulnerability Details ObjectPlanet Opinio before version 7.13 is vulnerable to stored Cross-Site Scripting (Stored XSS) and reflected Cross-Site Scripting (Reflected XSS). # 3. Proof of Concept ### Reflected XSS executed in URL ### The following payload was executed when injected as part of the URL"/survey/admin/surveyAdmin.do?action=viewSurveyAdmin&surveyId=1234": “&zwzc4%22%3e%3cinput%20type%3dtext%20autofocus%20onfocus%3dconfirm(1)%2f%2f” Affected URL:/survey/admin/surveyAdmin.do? ### Stored XSS ### Stored XSS payload such as “<script>alert(‘XSS ATTACK’)</script> can be saved in various parameter fields. The malicious payload is executed when a user visits a page that preview or published the payloads. Stored XSS payload such “<script>alert(‘XSS ATTACK’)</script> can be saved in various parameter fields and executed when a user visits a page where the payload is retrieved. For example, a survey question can be created as part of a survey to store the malicious payload. When this survey previewed, the payload will be retrieved and trigger the XSS vulnerability. This stored XSS vulnerability affects any page where the affected parameters are accepted and triggered similarly as described in the previous example. Affected URL(s) and Parameter(s): - /survey/admin/question.do 'questionText', 'ratingMinText', 'ratingMaxText', 'ratingNALabel', 'multMinError', 'numError', 'numPrefix', 'numPostfix', 'numReqError', 'dropdownLabel', parameters - /survey/admin/section.do 'title' parameter - /survey/admin/sectionText.do 'text' parameter - /survey/admin/plugin.do 'plugin_survey_closed_message', 'plugin_restrict_nrics', '&plugin_survey_email_content' parameter - /survey/admin/confirm.do 'confirmMessageKeyParam', ‘org.apache.struts.taglib.html.TOKEN’ parameter - /survey/admin/folder.do 'msgKey' parameter - /survey/admin/file.do 'resourceName', ‘resourcePath’ parameter - /survey/admin/setup.do 'characterEncoding', 'emailForErrors', 'fromEmail', 'language', 'systemBaseUrl' parameters - /survey/admin/questionList.do?action=viewQuestionList&surveyId=1806 arbitrarily supplied URL parameter - /survey/admin/resources.do?action=viewResourcesByType&resourceType=8&fileListType=6125&selectedPreviewLocation=&selectedPreviewHeight=&selectedPreviewWidth=&selectedRadioId=select1_&copyToPosition=-1&isSimpleLayout=false arbitrarily supplied URL parameter - /survey/admin/surveyAdmin.do?action=viewSurveyAdmin&surveyId=3404&isPoll=1 arbitrarily supplied URL parameter # 4. Remediation Apply the latest fix/patch from objectplanet. # 5. Credits Ang Kar Min (https://www.linkedin.com/in/karmin-ang)


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 2021, cxsecurity.com

 

Back to Top