CVE-2024-42352 in iconinfo

Summary

by MITRE • 08/06/2024

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. `nuxt/icon` provides an API to allow client side icon lookup. This endpoint is at `/api/_nuxt_icon/[name]`. The proxied request path is improperly parsed, allowing an attacker to change the scheme and host of the request. This leads to SSRF, and could potentially lead to sensitive data exposure. The `new URL` constructor is used to parse the final path. This constructor can be passed a relative scheme or path in order to change the host the request is sent to. This constructor is also very tolerant of poorly formatted URLs. As a result we can pass a path prefixed with the string `http:`. This has the effect of changing the scheme to HTTP. We can then subsequently pass a new host, for example `http:127.0.0.1:8080`. This would allow us to send requests to a local server. This issue has been addressed in release version 1.4.5 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 09/20/2024

The vulnerability identified as CVE-2024-42352 affects the nuxt/icon package within the Nuxt framework, a popular Vue.js-based framework for building full-stack web applications. This issue resides in the API endpoint responsible for client-side icon lookup at `/api/_nuxt_icon/[name]`, which serves as a proxy for external icon resources. The flaw stems from improper parsing of proxied request paths, creating a dangerous attack vector that allows adversaries to manipulate the underlying HTTP requests being forwarded to external services.

The technical implementation of this vulnerability leverages the JavaScript `new URL` constructor's tolerance for malformed URL formats and its ability to override scheme and host components through relative path manipulation. When an attacker crafts a malicious request path beginning with `http:`, the URL parser interprets this as a scheme override rather than a path component, effectively changing the target host of the proxied request. This behavior enables attackers to redirect requests from their intended external icon sources to internal services, bypassing normal network segmentation controls and creating a server-side request forgery (SSRF) condition.

The operational impact of this vulnerability extends beyond simple SSRF exploitation, as it can potentially expose sensitive internal network resources and data. Attackers can leverage this flaw to probe internal services, potentially accessing databases, internal APIs, or other sensitive systems that should remain isolated from external access. The vulnerability's severity is amplified by the fact that it requires no authentication and can be exploited through standard web application interfaces, making it particularly dangerous in production environments where internal network boundaries are typically protected by firewalls and other security controls.

Security professionals should note this vulnerability aligns with CWE-918 (Server-Side Request Forgery) and maps to ATT&CK technique T1190 (Exploit Public-Facing Application) and T1046 (Network Service Scanning) within the MITRE ATT&CK framework. The vulnerability has been addressed in version 1.4.5 of the nuxt/icon package, with immediate upgrades recommended for all affected deployments. Organizations utilizing this framework should conduct thorough security assessments to identify any potential exploitation attempts and implement network-level protections such as firewall rules that restrict outbound connections from web servers to internal networks. The lack of known workarounds means that the only effective mitigation strategy is the mandatory upgrade to the patched version, emphasizing the critical importance of maintaining current security patches in open-source software dependencies.

Responsible

GitHub M

Reservation

07/30/2024

Disclosure

08/06/2024

Moderation

accepted

CPE

ready

EPSS

0.00648

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!