Skip to main content

Shaarli EUVDEUVD-2026-92316

| CVE-2026-105263 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-05 VulDB GHSA-2rmx-qf8h-6p5c
5.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Obtain admin session or lure logged-in admin
  2. Delivery
    Submit crafted url to /admin/metadata endpoint
  3. Exploit
    Server fetches attacker-chosen internal URL (SSRF)
  4. Execution
    Read internal/cloud-metadata responses
  5. Impact
    Pivot 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Shaarli 0.16.1
Shaarli 0.16.2
Shaarli 0.16.3
Shaarli 0.16.0

Affected Packages

euvd shaarli 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

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

Vendor (VulDB) PRIMARY 5.1 MEDIUM
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
vuln.today AI 4.7 MEDIUM

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.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

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

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
self-hosted niche bookmarking app, hobbyist/small-scale footprint
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL 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.2%
Patch available Yes
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
No
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

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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