Wednesday, October 16, 2024

CVE-2024-43687: MICROCHIP TIMEPROVIDER 4100 GRANDMASTER DEVICE (BANNER) - STORED XSS

Carrying on with the analysis of the "TimeProvider 4100 grandmaster device", it was possible to find out a Stored Cross-Site Scripting (XSS) vulnerability in the custom banner configuration field. 


TimeProvider 4100 Grandmaster Device

The embedded webserver does not perform input sanitization on the "txtcustom" parameter and saves such value inside the database. Users able to visit the device web administration interface will find out the malicious JavaScript payload included in the related server responses and furthermore, it will be executed on the victim's browser. 

Exploitation Steps

  1. Authenticate to the device’s management web 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. Trigger execution by connect to the device's web management interfaceVictims connection action initiates execution of the injected javascript payload.

The following image shows an example of a request containing the malicious JavaScript payload:


Request RAW:
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

Payload execution on the victim’s browser:



By performing a login operation into the device SSH service, it is possible to view the injected malicious Javascript payload. Following an example of such connection:



Conclusion:

A threat actor that exploits this vulnerability is able to perform phishing attacks and session hijacking compromising in this way the confidentiality, integrity and availability of the device.

Reporting Information:

CVE Identifier: CVE-2024-43687
CVSS Score: 8.0
Affected Versions: Firmware 1.0 through 2.4.7
Tested on: Firmware release 2.3.12 
Vulnerability Status: Resolved in firmware release 2.4.7
NIST: https://nvd.nist.gov/vuln/detail/CVE-2024-43687
Vendor Reference: 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
Reported by: Armando Huesca Prida, Marco Negro, Antonio Carriero, Vito Pistillo, Davide Renna, Manuel Leone, Massimiliano Brolli and TIM Security Red Team Research.


Monday, October 14, 2024

CVE-2024-43683: MICROCHIP TIMEPROVIDER 4100 GRANDMASTER - URL REDIRECTION TO UNTRUSTED SITE ('Open Redirect') – CWE-601

Proceeding with the analysis of the “Microchip TimeProvider® 4100 Grandmaster TP4100” device, it was possible to identify a Host Header Injection vulnerability.

TimeProvider 4100 Grandmaster Device

The device fails to properly validate the Host header in HTTP GET and POST requests. This allows attackers to craft requests with arbitrary Host values, which the system accepts and processes without verification.

In observed cases, replacing the legitimate Host header with a malicious domain (e.g., pentester.com) results in the device accepting the request and redirecting users to the attacker-controlled domain.

This issue can be exploited to:

  • Perform phishing attacks by redirecting users to malicious websites that appear legitimate

  • Bypass access controls or URL-based filters in certain environments

  • Facilitate cache poisoning or other injection-based attacks

Since the device does not verify that the Host header matches its own hostname or expected domain, it becomes vulnerable to these types of manipulations.

Exploitation Steps

Here’s how an attacker could exploit this vulnerability:

  1. Craft an HTTP request (GET or POST) targeting the TimeProvider 4100’s web interface.

  2. Replace the Host header with a malicious domain under the attacker’s control—for example: Host: pentester.com

  1. Send the request to the device.

  2. The device processes the request and redirects the user to the attacker-specified domain.

  3. The victim may unknowingly land on a malicious page designed to mimic the legitimate interface or capture credentials.

This redirection can occur in browsers or applications that use absolute URLs based on the Host header, making it particularly dangerous in environments where external links are passed through the device.

The following image shows an example of a request containing a custom Host header owned by a malicious user. It's also possible to verify that the browser automatically redirects to the specified domain:


Request RAW:

GET /dashboard HTTP/1.1

Host: pentester.com

Cache-Control: max-age=0

Sec-Ch-Ua: "Chromium";v="121", "Not A(Brand";v="99"

Sec-Ch-Ua-Mobile: ?0

Sec-Ch-Ua-Platform: "Linux"

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.85 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7

Sec-Fetch-Site: same-origin

Sec-Fetch-Mode: navigate

Sec-Fetch-User: ?1

Sec-Fetch-Dest: document

Accept-Encoding: gzip, deflate, br

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

Priority: u=0, i

Connection: close


Recommendations:

  • Implement strict server-side validation of the Host header against an expected allowlist.

  • Reject or log requests with unexpected Host values.

  • Ensure any redirections or URL generations use fixed, server-side hostnames rather than user-supplied headers.

  • Apply firmware updates once an official patch is made available by Microchip.

Conclusion:

This vulnerability highlights a common but serious oversight: trusting user-supplied HTTP headers without validation. Host header injection can be leveraged for phishing, redirection, and other malicious activities—all without requiring access or authentication.

Reporting Information:

CVE Identifier: CVE-2024-43683
CVSS Score: 6.1
Affected Versions: Firmware 1.0 through 2.4.7
Vulnerability Status: Resolved in firmware release 2.4.7
NIST: https://nvd.nist.gov/vuln/detail/CVE-2024-43683
Vendor Reference: 
https://www.microchip.com/en-us/solutions/technologies/embedded-security/how-to-report-potential-product-security-vulnerabilities/timeprovider-4100-grandmaster-improper-verification-of-host-header
Reported by: Armando Huesca Prida, Marco Negro, Antonio Carriero, Vito Pistillo, Davide Renna, Manuel Leone, Massimiliano Brolli and TIM Security Red Team Research.