Impact
PromptHub's POST /api/skills/fetch-remote endpoint allows an authenticated user to provide an arbitrary URL. The server fetches the resource and returns the response body, up to 5 MB, to the caller. The SSRF protection attempts to block private or loopback addresses by checking the IPv6 representation with isPrivateIPv6, but several legitimate IPv6 representations bypass this check. The bypass enables reaching any IPv4 address—including loopback, RFC1918, link-local networks—via IPv4-mapped IPv6 in hexadecimal form, as well as canonical ::1 via any non-literal representation. This flaw permits authenticated users (roles user or admin) to trigger server‑side HTTP requests against internal or privileged services, exposing internal network resources and data. The weakness maps to CWE-20 (Improper Input Validation), CWE-693 (Improper Control Flow, Privilege Dependency) and CWE-918 (Server Side Request Forgery).
Affected Systems
The vulnerability affects legeling PromptHub versions 0.4.9 through 0.5.3, inclusive, which expose the vulnerable endpoint without proper validation. The issue has been addressed in version 0.5.4. Deployments that enable ALLOW_REGISTRATION=true are particularly susceptible because any remote user who can create an account becomes an authenticated user able to trigger SSRF. Other configurations that restrict user registration or authentication are less vulnerable but still contain the code path.
Risk and Exploitability
The CVSS score of 7.1 indicates a medium‑to‑high impact, with an authentication requirement. As the EPSS score is not available, the probability of exploitation at the time of analysis is uncertain. The vulnerability is not listed in the CISA KEV catalog. Attackers would need valid credentials or a means to create an account under ALLOW_REGISTRATION=true, after which they could supply specially crafted IPv6 URLs that bypass the filter and cause the server to retrieve data from internal or delegated endpoints. Successful exploitation could lead to disclosure of internal network structure, service information, or sensitive data returned in the HTTP response body.
OpenCVE Enrichment