IP-DOT LTD, a renowned developer of sophisticated computer systems, faces a critical security concern within their BuildaGate v5 application. Idan Malihi and Yaniv Azran, security researchers at CyFox XDR, have identified a Cross-Site Scripting (XSS) vulnerability, exposing a pathway for remote attackers to execute arbitrary code by crafting a malicious script and injecting it into the URL, giving them unauthorized access to the victim’s browser. The consequences of this XSS vulnerability are far-reaching, encompassing credential theft, session jacking, and website defacement. Swift action is imperative to protect users and the organization’s reputation from the potential fallout of this security lapse.
Who is IP-DOT?
IP-DOT LTD specializes in developing and implementing sophisticated computer systems, catering specifically to decision-makers within progressive enterprises and organizations. Their expertise spans various advanced environments, encompassing web application solutions, corporate portals, content-rich websites, image websites, information management systems, library management software, commercial arenas, shopping malls and electronic stores, forums, surveys, e-Learning, etc.
IP-DOT LTD has garnered a reputation for delivering a diverse range of advanced off-the-shelf products tailored to the needs of medium-sized businesses and organizations. Furthermore, they offer complementary capabilities that augment the functionality of ERP systems utilized by large organizations worldwide.
What is Cross-Site Scripting (XSS)?
XSS (cross-site scripting) is a critical application vulnerability where a malicious JavaScript code is injected into a webpage viewed by users. The danger arises when the application fails to validate inputs from injection vulnerabilities, thereby providing an opening for attackers to exploit.
By exploiting this vulnerability, attackers can inject and execute JavaScript code, enabling them to carry out a range of malicious actions. These actions may include data theft, unauthorized access to sensitive information, manipulation of user sessions, and other nefarious activities that compromise the security and integrity of the application and its users.
One of the most straightforward instances of XSS occurs when an application utilizes data from parameters or input fields without properly checking or escaping the data itself. To illustrate, consider a PHP script responsible for extracting the value of the “mc” parameter from the search string and then directly reflecting this value on the corresponding web page.
When making a request to” index.php?mc=example”, the search value is displayed on the page as “Search results for: blah.” However, a critical vulnerability arises when the “mc” parameter is manipulated to contain JavaScript code instead of a valid value. In such cases, the injected JavaScript will also be rendered within the page’s body and subsequently executed.
Request example:
index.php?mc=<script>alert(1)</script>
Result:
The code is injected successfully. This particular security vulnerability is known as “reflected XSS.” The injected script is not stored on any server; instead, the attacker aims to trick the victim into making an insecure request to a page that will inadvertently execute the malicious code. For instance, this could be achieved by enticing the victim to click on a malicious link.
It’s important to note that the objective here is not to display the form but to demonstrate XSS’s presence. This method serves as a simple yet effective means to validate and confirm the exploit’s existence, highlighting the significance of addressing and rectifying these vulnerabilities to ensure the overall security and protection of the application and its users.
There are 4 different types of XSS
Explanation about the CVE-2023-36163
The cross-Site Scripting vulnerability in IP-DOT BuildaGate v.5 that we have identified enables remote attackers to execute arbitrary code by crafting a malicious script and injecting it into the “mc” parameter of the URL. As a result, the attacker can gain unauthorized access to the application.
The attacker can easily exploit this vulnerability by identifying the vulnerable parameter and injecting malicious JavaScript code like this:
‘><script>prompt(“XSS”);</script><div id=”aa’
Once the injection is prepared, the attacker simply sends the complete URL, containing the crafted JS code, to the victim, for example:
https://vulnerable_website/BuildaGate5library/general2/company_search_tree.php?mc=aaa’><script>prompt(“XSS“);</script><div id=”aaaa
When the victim accesses the compromised URL, their browser becomes susceptible to the injected code, leading to the execution of the malicious script. This type of attack empowers the attacker to perform unauthorized actions on the victim’s browser, potentially compromising sensitive data or initiating further malicious activities.
Impact of Reflected Cross-Site Scripting
The consequences of this vulnerability can be severe, including: