Cross-site scripting (XSS) vulnerability in the Create Catalogue feature in Hybris Management Console (HMC) in SAP Hybris before 5.2.0.13, 5.3.x before 5.3.0.11, 5.4.x before 5.4.0.11, 5.5.0.x before 5.5.0.10, 5.5.1.x before 5.5.1.11, 5.6.x before 5.6.0.11, and 5.7.x before 5.7.0.15 allows remote authenticated users to inject arbitrary web script or HTML via the ID field.
SAP Hybris Management Console (HMC) is vulnerable to a cross-site scripting (XSS) attack, allowing authenticated users to inject malicious scripts. This vulnerability, exploitable through the 'Create Catalogue' feature, could lead to account compromise, data theft, and website defacement.
Step 1: Authentication: The attacker must first authenticate to the Hybris Management Console (HMC) with valid credentials. This is a prerequisite for exploiting the vulnerability. Step 2: Accessing the Create Catalogue Feature: The attacker navigates to the 'Create Catalogue' feature within the HMC. This is the entry point for the vulnerability. Step 3: Payload Injection: The attacker enters a malicious JavaScript payload into the 'ID' field of the 'Create Catalogue' form. This payload is designed to execute arbitrary code within the victim's browser. Step 4: Form Submission: The attacker submits the form, triggering the creation of the catalogue with the malicious 'ID'. Step 5: Payload Execution: When a user, including an administrator, views the catalogue or interacts with the section where the injected ID is displayed, the injected JavaScript payload is executed in their browser due to the lack of proper sanitization.
The vulnerability stems from insufficient input validation and output encoding within the 'Create Catalogue' feature of the Hybris Management Console. Specifically, the application fails to properly sanitize user-supplied input in the 'ID' field before rendering it in the HTML response. This allows an attacker to inject malicious JavaScript code, which is then executed in the context of the victim's browser. The lack of proper input validation and output encoding (e.g., HTML entity encoding) is the root cause, allowing for the injection of arbitrary HTML and JavaScript.