Persistent Cross Site Scripting - Workflow Module - Settings in yetiforcecompany/yetiforcecrm
Reported on
Aug 19th 2022
Description
The application uses Purifier to avoid the Cross Site Scripting attack. However, On Workflow module from Settings, the type of workflowModel->summary parameter is not defined and validated, it's used directly without any encoding or validation on Workflows/Step1.tpl and Workflows/Step2.tpl. It allows attacker to inject arbitrary Javascript code to perform an Stored XSS attack.
Proof of Concept
- 1- Login to the application
- 2- Access the WidgetsManagement Module via the following URL:
https://gitstable.yetiforce.com/index.php?module=Workflows&parent=Settings&view=Edit&record={id}
- 3-Change the {id} of the previous URL with the valid recordID. Change the value of "summary" parameter with the following payload:
Workflow" onfocus="alert(document.domain)" autofocus ""="
**Inject the payload
PoC Video
https://drive.google.com/file/d/1Ri-tO_QjVcugTkroVDi8KxUfkoTJIb6n/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.
SECURITY.md
exists
a year ago
Hi @admin, the bug has been fixed by @rskrzypczak, please help me review and publish the CVE. You can check with the following commit: https://github.com/YetiForceCompany/YetiForceCRM/commit/cd82ecce44d83f1f6c10c7766bf36f3026de024a#diff-19252b5c61368ca2e02f56793abe97739fb753c6189b12d2a07160638d00f0c8 https://github.com/YetiForceCompany/YetiForceCRM/commit/cd82ecce44d83f1f6c10c7766bf36f3026de024a#diff-d5a25f087c0dcd145b307d7e394008aa5598cbdbd2d3517ad7e634850f8b73e5