Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain valid Shlink API key
-
DeliveryHost redirect server on public IP
-
ExploitSubmit crafted URL to short link creation API
-
InstallServer follows redirect to internal target (e.g., 169.254.169.254)
-
C2Internal service response HTML title parsed
-
ExecuteTitle content returned in API response
-
ImpactAttacker reads exfiltrated data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two specific conditions must both be true: (1) the attacker must possess a valid Shlink API key - CVSS PR:L confirms authentication is required and anonymous exploitation is not possible; (2) the title auto-resolution feature must be enabled in the Shlink instance configuration - the description explicitly states this precondition. Exploitation is further constrained by what internal data is actually extractable: only content appearing within an HTML <title> tag is returned, so services that do not render their sensitive data in an HTML title element are not directly exfiltrable via this path. Exploitation is blocked against: unauthenticated users, Shlink instances where title auto-resolution is disabled, and cloud metadata endpoints protected by IMDSv2 (token-gated requests, since the SSRF issues a plain GET). |
| Impact | The CVSS 4.0 base score of 5.3 (Medium) reflects the genuine constraints: AV:N indicates network reachability, PR:L confirms an API key is required, and the impact is bounded to partial confidentiality disclosure (VC:L, SC:L) with no integrity or availability impact. The EPSS score was not provided in the input data, so exploitation probability cannot be quantified numerically. No CISA KEV listing exists, confirming no known widespread active exploitation at time of analysis. However, a public PoC advisory repository (github.com/theopaid) is referenced, meaning exploit technique is disclosed. The most significant real-world risk amplifier is cloud metadata endpoint access: in AWS, GCP, or Azure environments, successful exfiltration of IMDSv1 metadata (169.254.169.254) can yield IAM role credentials, enabling privilege escalation far beyond what the base CVSS score suggests. The PR:L constraint and the title auto-resolution feature dependency meaningfully limit the attack surface - this is not exploitable by anonymous users or against installations where title resolution is disabled. Priority should be elevated for Shlink instances deployed in cloud environments where IMDSv2 is not enforced. |
| Exploit ScenarioDerived | An attacker with a valid Shlink API key sets up an HTTP server at a public address that returns a 302 redirect to http://169.254.169.254/latest/meta-data/iam/security-credentials/ when queried. They then call the Shlink short URL creation API with this public URL as the long URL target while title auto-resolution is active; the Shlink server fetches the URL, follows the redirect to the cloud metadata endpoint, parses the returned content as an HTML title, and returns it in the API JSON response body. A public proof-of-concept advisory demonstrating this technique is referenced at https://github.com/theopaid/Server-side-request-forgery-through-short-URL-title-resolution-shlink-. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 03, 2026
Server-side request forgery in Shlink allows authenticated API key holders to coerce the server into issuing arbitrary HTTP GET requests to internal network targets, including cloud metadata endpoints such as 169.254.169.254, by submitting crafted URLs during short URL creation when title auto-resolution is enabled. The server follows HTTP redirects from attacker-controlled public hosts to otherwise-inaccessible internal addresses, then returns fetched content via the HTML title element in the API response, enabling exfiltration of internal service data. No active exploitation is confirmed in CISA KEV, but a public proof-of-concept advisory repository exists, and the attack requires only a valid API key with title auto-resolution active.
RemediationAI
No vendor-released patch or specific fixed version was identified in the available data at time of analysis. The primary short-term mitigation is to disable the title auto-resolution feature in the Shlink configuration, which eliminates the SSRF vector entirely since the server-side HTTP fetch is only triggered by that feature; disabling it does not affect core URL shortening functionality but removes automatic title population for new short URLs. Where title resolution must remain enabled, operators should deploy an egress firewall or HTTP proxy in front of the Shlink service that blocks outbound requests to RFC 1918 addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8), and link-local ranges (169.254.0.0/16); note this may break legitimate resolution of intranet URLs if any are intentionally shortened. For cloud deployments, enforcing IMDSv2 (requiring PUT-based token exchange) on EC2 instances and equivalent controls on GCP/Azure will prevent metadata endpoint exfiltration even if SSRF is exploited, significantly reducing the blast radius. Review the VulnCheck advisory at https://www.vulncheck.com/advisories/shlink-server-side-request-forgery-via-short-url-title-auto-resolution and monitor https://github.com/shlinkio/shlink for a patched release.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Shlink (CPE: cpe:2.3:a:shlinkio:shlink:*:*:*:*:*:*:*:*) is a self-hosted PHP URL shortener that offers a 'title auto-resolution' feature whereby the server fetches the destination URL at creation time to populate the short link's title from the HTML <title> element. This fetch operation is the SSRF vector: CWE-918 (Server-Side Request Forgery) arises because Shlink does not adequately validate or block destination IP ranges before following HTTP redirects. An attacker submits a URL pointing to a public host they control, which issues a 302/301 redirect to a loopback address (127.0.0.1), a link-local range (169.254.0.0/16), or any internal service. The server-side HTTP client follows the redirect, fetches the internal resource, parses its HTML title, and echoes the title content back in the JSON API response - creating an out-of-band data channel from internal services to the authenticated external attacker.
Know when Shlink gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Network vector confirmed; PR:L because API key is required; S:C because the server pivots to internal systems outside its security scope; C:L for partial data disclosure only.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Shlink contains a server-side request forgery vulnerability that allows authenticated API key holders to cause the server to issue arbitrary HTTP GET requests by supplying a crafted long URL during short URL creation with title auto-resolution enabled. Attackers can submit URLs pointing to public hosts that redirect to internal targets, including loopback addresses, link-local ranges, and cloud metadata endpoints such as 169.254.169.254, to exfiltrate internal service information via the HTML title element returned in the short URL creation response.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Information disclosure in Shlink through 5.1.6 allows an attacker who already holds a role-restricted API key (author-on
Blind SQL injection in Shlink's tag statistics REST endpoint allows any API key holder to extract sensitive data from th
CSV formula injection in Shlink 5.0.0-5.1.5 enables unauthenticated remote attackers to embed DDE or WEBSERVICE spreadsh
EUVD-2026-52427
GHSA-c6g4-pfhg-gvmp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB