---
id: CVE-2026-50190
title: Shaarli is a personal bookmarking service
summary: >-
  Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are
  vulnerable to stored XSS in
  `application/front/controller/visitor/BookmarkListController.php`. The
  `permalink` handler concatenates the raw `$bookmark->getTitle()` i…
severity: none
cwe:
  - CWE-79
published: '2026-08-20'
updated: '2026-09-18'
sourceUpdated: '2026-09-18T20:09:01.757'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-50190'
references:
  - url: 'https://github.com/shaarli/Shaarli/security/advisories/GHSA-xm98-h5jj-64xv'
    label: security-advisories@github.com
  - url: 'https://github.com/shaarli/Shaarli/security/advisories/GHSA-xm98-h5jj-64xv'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
epss: 0.00436
epssPercentile: 0.35228
ingestedAt: '2026-09-18T20:51:25.644Z'
---

## Overview

Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark->getTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `<title>` element without HTML escaping. A bookmark title containing `</title><script>...</script>` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `<title>` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
