Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain admin session or lure logged-in admin
-
DeliverySubmit crafted url to /admin/metadata endpoint
-
ExploitServer fetches attacker-chosen internal URL (SSRF)
-
ExecutionRead internal/cloud-metadata responses
-
ImpactPivot to internal services
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 | Requires reaching the admin-only endpoint /admin/metadata (MetadataController) with a controllable url argument. Exploitation prerequisites: (1) an authenticated Shaarli administrator session, OR (2) tricking a logged-in admin into triggering the request, which was feasible pre-patch because the endpoint did not validate a CSRF token (the fix adds checkToken plus an &token parameter to the metadata JS call). The pre-patch code only checked that the URL scheme contained the substring 'http' and performed no IP validation, so any http(s) URL resolving to a private/loopback/reserved address was fetched. Limiting factors: PR:H (admin privilege) is the primary constraint; after upgrade to 0.16.4 the new is_safe_url/is_private_ip checks block private, loopback, link-local, and reserved IPv4 targets and fail closed on non-IPv4, substantially narrowing the SSRF surface. |
| Impact | This is a moderate, access-gated SSRF (CWE-918) in Shaarli's Admin Metadata Endpoint. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC:L/VI:L/VA:L) scores 5.1 and - critically - specifies PR:H, meaning exploitation requires high (administrator) privileges; the vulnerable MetadataController is an admin-only endpoint and the patch added a CSRF token check (checkToken), confirming the attacker must already be an authenticated admin or must chain this with CSRF/XSS against a logged-in admin. No EPSS score, KEV listing, or public exploit was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation. Net: despite the network attack vector, the PR:H requirement and admin-only surface make this a low-priority, defense-in-depth fix rather than an urgent threat - the realistic risk is an authenticated admin (or a tricked admin via CSRF) pivoting to internal services, which the low confidentiality/integrity/availability sub-scores reflect. The main signals are consistent (network-reachable but privilege-gated, limited impact); the chief uncertainty is whether the pre-patch absence of a CSRF token effectively lowered the real-world privilege bar, which would make opportunistic CSRF-driven exploitation plausible against admins with active sessions. |
| Exploit ScenarioDerived | An authenticated Shaarli administrator (or an attacker who lures a logged-in admin to a malicious page, since the vulnerable endpoint lacked a CSRF token before the patch) submits a crafted url parameter to /admin/metadata pointing at an internal address such as http://169.254.169.254/ or http://127.0.0.1. Shaarli's server fetches that URL to extract metadata, letting the attacker probe internal hosts, reach cloud metadata services, or hit non-routable services from the server's trust position. No public exploit code was identified, but the one-parameter trigger and the public patch diff make reproduction straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Server-side request forgery (SSRF) in Shaarli up to 0.16.3 allows an attacker who can reach the admin-only MetadataController endpoint to make the server fetch arbitrary HTTP(S) URLs, including those resolving to private, loopback, link-local, or reserved addresses. Exploitation requires either an authenticated administrator session (PR:H) or tricking a logged-in admin into triggering the request, which was feasible before the fix because the endpoint did not validate a CSRF token; the pre-patch code also only checked that the URL scheme contained the substring 'http' and performed no IP validation. There is no confirmed active exploitation (not listed in CISA KEV) and no public exploit code identified at time of analysis; a vendor patch is available in version 0.16.4.
RemediationAI
Upgrade Shaarli to version 0.16.4 or later, which is the vendor-released patch; the fix adds CSRF token validation to the admin metadata endpoint, enforces exact http/https scheme matching, and rejects URLs that resolve to private, loopback, link-local, or reserved IPv4 addresses via the new is_safe_url() and is_private_ip() functions. The official release is at https://github.com/shaarli/Shaarli/releases/tag/v0.16.4 and the fixing commit is https://github.com/shaarli/Shaarli/commit/8ca4de8e7c932a684481f5fbb1229fe16de1f4d2. If upgrading is not immediately possible, restrict access to /admin/metadata so that only trusted administrators can reach it (this is the primary compensating control given the PR:H requirement), and ensure administrators do not browse untrusted pages while logged in, since the pre-patch endpoint lacked CSRF protection and a malicious page could trigger the request in an admin's session. Additional defense-in-depth options include blocking outbound traffic from the Shaarli host to link-local ranges such as 169.254.0.0/16 (especially the cloud metadata endpoint 169.254.169.254), loopback 127.0.0.0/8, and RFC1918 private ranges; this reduces SSRF reachability but may break legitimate metadata retrieval for internal bookmarks, so apply egress rules selectively. Vendors should also consider endpoint-level allowlisting or disabling the remote metadata extraction feature entirely until patched, at the cost of losing automatic page title/description/thumbnail fetching.
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
The vulnerability is CWE-918 (Server-Side Request Forgery) in Shaarli's Admin Metadata Endpoint, implemented in application/front/controller/admin/MetadataController.php. Shaarli is a PHP-based self-hosted bookmarking application, and the metadata endpoint is used to extract page metadata (title, description, thumbnail) from a user-supplied URL. Before the patch, the controller accepted the url argument, verified only that get_url_scheme($url) contained the substring 'http', and then performed the outbound request without validating the resolved destination. That allowed URLs such as http://169.254.169.254/ (cloud metadata), http://127.0.0.1/, or http://192.168.0.1/ to be fetched by the Shaarli server, exposing internal services or cloud instance metadata. The upstream fix (commit 8ca4de8e7c932a684481f5fbb1229fe16de1f4d2, released in v0.16.4) adds a CSRF token check (checkToken) with the corresponding &token parameter in assets/common/js/metadata.js, tightens scheme validation to an exact in_array match for 'http'/'https', and introduces is_safe_url() and is_private_ip() helpers in application/http/UrlUtils.php that reject private, loopback, link-local, and reserved IPv4 targets and fail closed on non-IPv4 input. The remaining attack surface is substantially narrowed after upgrade.
Know when Shaarli 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:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Network-reachable admin endpoint but admin-only, so PR:H; SSRF yields limited internal read/interaction giving low C/I/A; scope unchanged as impact stays within the vulnerable application context.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A security flaw has been discovered in Shaarli up to 0.16.3. The affected element is the function MetadataController of the file application/front/controller/admin/MetadataController.php of the component Admin Metadata Endpoint. Performing a manipulation of the argument url results in server-side request forgery. The attack may be initiated remotely. Upgrading to version 0.16.4 is sufficient to fix this issue. The patch is named 8ca4de8e7c932a684481f5fbb1229fe16de1f4d2. It is advisable to upgrade the affected component.
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.
Reflected Cross Site Scripting (XSS) vulnerability in Shaarli v0.12.2, allows remote attackers to execute arbitrary code
Stored XSS in Shaarli versions before 0.16.0 allows authenticated attackers to inject malicious HTML by crafting tags st
Stored XSS in Shaarli versions prior to 0.16.3 enables administrator account takeover through a low-effort social engine
Reflected XSS vulnerability in Shaarli v0.9.1 allows an unauthenticated attacker to inject JavaScript via the searchtags
Cross-site scripting (XSS) vulnerability in Shaarli before 0.8.5 and 0.9.x before 0.9.3 allows remote attackers to injec
DOM-based XSS in Shaarli's Thumbnail Synchronizer allows stored malicious bookmark titles to execute arbitrary JavaScrip
Stored XSS in Shaarli's Markdown rendering pipeline (versions 0.16.1 and prior) allows an authenticated user to inject m
Stored XSS in Shaarli's tag filtering functionality permits an authenticated user to inject persistent JavaScript payloa
EUVD-2026-92316
GHSA-2rmx-qf8h-6p5c
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB