Persistent Cross Site Scripting - WidgetsManagement Module - Settings in yetiforcecompany/yetiforcecrm

Valid

Reported on

Aug 19th 2022


Description

The application uses Purifier to avoid the Cross Site Scripting attack. However, On WidgetsManagement module from Settings, the "title"parameter is not validated and it's used directly without any encoding or validation on Vitger/dashboards/ChartFilter.tpl. It allows attacker to inject arbitrary Javascript code to perform an Stored XSS attack.

Proof of Concept

  1. 1- Login to the application
  2. 2- Access the WidgetsManagement Module via the following URL:
  3. https://gitstable.yetiforce.com/index.php?module=WidgetsManagement&parent=Settings&view=Configuration
  4. 3-Click to the button "Edit chart from filter". Change the value of "title" parameter with the following payload:
Widgets" onfocus="alert(document.domain)" autofocus ""="

**Inject the payload Payload

PoC

PoC Video

https://drive.google.com/file/d/1mqJq_e1sfnUyQ-amBujR2Bes2lUiQZVF/view?usp=sharing

Impact

An XSS attack allows an attacker to execute arbitrary JavaScript in the context of the attacked website and the attacked user. This can be abused to steal session cookies, perform requests in the name of the victim or for phishing attacks.

We are processing your report and will contact the yetiforcecompany/yetiforcecrm team within 24 hours. a month ago
thanhlocpanda modified the report
a month ago
We have contacted a member of the yetiforcecompany/yetiforcecrm team and are waiting to hear back a month ago
thanhlocpanda modified the report
a month ago
Radosław Skrzypczak validated this vulnerability a month ago
thanhlocpanda has been awarded the disclosure bounty
The fix bounty is now up for grabs
The researcher's credibility has increased: +7
We have sent a fix follow up to the yetiforcecompany/yetiforcecrm team. We will try again in 7 days. a month ago
We have sent a second fix follow up to the yetiforcecompany/yetiforcecrm team. We will try again in 10 days. 22 days ago
We have sent a third and final fix follow up to the yetiforcecompany/yetiforcecrm team. This report is now considered stale. 12 days ago
thanhlocpanda
4 days ago

Researcher


Hi @admin, the bug has been fixed, but @rskrzypczak not change the status of this report. Please check: https://github.com/YetiForceCompany/YetiForceCRM/commit/b716ecea340783b842498425faa029800bd30420#diff-9ac35062c8895bf2adb08710f42e87cd3ff45dd40c1dc53d62d9511782e483eb

Radosław Skrzypczak confirmed that a fix has been merged on b716ec 4 days ago
The fix bounty has been dropped
ChartFilter.tpl#L18 has been validated
to join this conversation