Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-48823

CVE-2026-48823: Shaarli Stored XSS Vulnerability

CVE-2026-48823 is a stored cross-site scripting vulnerability in Shaarli's tag filtering functionality that allows authenticated users to inject malicious JavaScript. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-48823 Overview

CVE-2026-48823 is a stored Cross-Site Scripting (XSS) vulnerability [CWE-79] in Shaarli, a personal bookmarking service. The flaw affects versions 0.16.1 and prior in the tag filtering functionality. An authenticated user can inject arbitrary JavaScript into the tags field when creating a bookmark, also known as a Shaare. The malicious payload is stored in the database and later executed when users interact with the Filter by tag search feature on the homepage. The issue has been fixed in version 0.16.2.

Critical Impact

Authenticated attackers can store JavaScript payloads in tag fields, executing arbitrary script in the browsers of administrators and privileged users who use the tag filter on the homepage.

Affected Products

  • Shaarli versions 0.16.1 and prior
  • Shaarli homepage Filter by tag interface
  • Administrator and privileged user sessions interacting with tag filtering

Discovery Timeline

  • 2026-06-17 - CVE-2026-48823 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2026-48823

Vulnerability Analysis

The vulnerability is a stored XSS issue in Shaarli's tag handling logic. User-supplied input in the tags field is not properly sanitized or output-escaped before being rendered in the tag filtering interface. When a bookmark is created with a malicious payload inside the tag field, the payload is persisted in the database. Later, when a user searches using Filter by tag on the homepage, the application renders matching tags dynamically. If the tag value contains HTML with JavaScript event handlers, it is injected directly into the Document Object Model (DOM) and executed in the victim's browser session.

Exploitation requires an authenticated account with permission to create Shaares. Victims are users who later interact with the homepage tag filter, including administrators. Successful exploitation enables session theft, configuration tampering, and actions performed in the security context of the targeted user.

Root Cause

The root cause is missing output encoding on tag values rendered within the Filter by tag template. Shaarli treats stored tag strings as trusted markup at render time, allowing HTML and JavaScript event handler attributes to be inserted into the page without escaping.

Attack Vector

The attacker authenticates to Shaarli and creates a Shaare with a crafted tag containing HTML attributes or event handlers carrying JavaScript. The payload remains dormant in the database. A privileged user later opens the homepage and uses the tag filter feature, triggering execution of the stored script in their browser. See the GitHub Security Advisory GHSA-68qr-fvv8-6mc6 for technical details.

Detection Methods for CVE-2026-48823

Indicators of Compromise

  • Bookmark records with tag values containing HTML angle brackets, on* event handler attributes, or javascript: URIs.
  • Unexpected outbound HTTP requests originating from administrator browser sessions following use of the tag filter.
  • New or modified Shaarli configuration, user accounts, or API tokens with no corresponding administrator action.

Detection Strategies

  • Query the Shaarli datastore for tag fields containing characters such as <, >, ", or = that should not appear in normal tag values.
  • Inspect web server access logs for requests to /?searchtags= containing reflected script fragments.
  • Review browser Content Security Policy (CSP) violation reports if CSP is enforced in front of Shaarli.

Monitoring Recommendations

  • Monitor creation of Shaares by non-administrative accounts for tag values exceeding expected length or character set.
  • Alert on administrator session activity that immediately follows tag filter usage and results in account or configuration changes.
  • Track the Shaarli version in deployment inventories to confirm upgrade to 0.16.2 or later.

How to Mitigate CVE-2026-48823

Immediate Actions Required

  • Upgrade Shaarli to version 0.16.2 or later, available at the GitHub Release v0.16.2 page.
  • Audit existing bookmarks and remove or sanitize any tag values containing HTML or JavaScript content.
  • Rotate session cookies and API tokens for administrators who may have triggered malicious tags.

Patch Information

The maintainers fixed the issue in Shaarli 0.16.2 by applying proper output escaping to tag values rendered in the Filter by tag interface. Refer to the GitHub Security Advisory GHSA-68qr-fvv8-6mc6 for advisory details and the GitHub Release v0.16.2 notes for the patched build.

Workarounds

  • Restrict Shaare creation to fully trusted accounts until the upgrade is applied.
  • Deploy a strict Content Security Policy that disallows inline script execution on Shaarli pages.
  • Place Shaarli behind a web application firewall rule that blocks tag parameters containing HTML metacharacters.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.