Description
Serendipity versions >= 2.3.5 and <= 2.6.0 contain a reflected cross-site scripting vulnerability in the search clean-URL route (/search/<term>). In include/functions_routing.inc.php serveSearch(), the sanitisation pipeline runs urldecode() after HTML-encoding, so a single URL-encoded HTML payload survives strip_tags() and htmlspecialchars() and is then decoded back into live HTML in the page. A crafted search link can execute arbitrary JavaScript in the victim's browser. Fixed in 2.6.1.
Published: 2026-08-13
Score: 5.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability occurs when a search term is passed through the clean‑URL route /search/<term> in Serendipity versions 2.3.5 through 2.6.0. The backend decodes the URL‑encoded term after performing HTML encoding, allowing a specially crafted payload to survive HTML escaping and be rendered as live HTML. An attacker who can insert a malicious search term into a link that a victim clicks can therefore execute arbitrary JavaScript in the victim’s browser. This permits client‑side data theft, hijacking of the victim’s session, cookie theft, defacement and the delivery of phishing content to users. The flaw is a classic reflected cross‑site scripting (CWE‑79).

Affected Systems

Affected versions of Serendipity include 2.3.5, the 2.4.0 line (both the release and beta1 builds), 2.5.0, and 2.6.0 (including beta1). All of these versions implement the vulnerable clean‑URL search route. Versions 2.6.1 and later contain the fix and are not affected.

Risk and Exploitability

The CVSS base score for the vulnerability is 5.3, indicating moderate severity. The EPSS score is not available, but the lack of a reported exploit in CISA’s KEV catalog suggests there are presently no active, widespread attacks. The typical exploitation path would involve an attacker crafting a malicious search URL and tricking a victim into visiting it, which requires user interaction. Despite the moderate CVSS score, any publicly‑facing Serendipity instance that allows unauthenticated searches remains susceptible to the client‑side code execution that follows. Administrators should treat this as a risk worth mitigating promptly, especially if the site serves any sensitive or high‑profile visitors.

Generated by OpenCVE AI on August 13, 2026 at 12:42 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Serendipity to version 2.6.1 or later, which removes the vulnerable search routing logic.
  • If an immediate upgrade is not possible, temporarily disable the clean‑URL search route or block access to /search/ via your web server configuration to prevent exploitation.
  • Regularly review website access logs for suspicious search requests and apply additional input validation or output‑encoding as a supplemental precaution.

Generated by OpenCVE AI on August 13, 2026 at 12:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Description Serendipity versions >= 2.3.5 and <= 2.6.0 contain a reflected cross-site scripting vulnerability in the search clean-URL route (/search/<term>). In include/functions_routing.inc.php serveSearch(), the sanitisation pipeline runs urldecode() after HTML-encoding, so a single URL-encoded HTML payload survives strip_tags() and htmlspecialchars() and is then decoded back into live HTML in the page. A crafted search link can execute arbitrary JavaScript in the victim's browser. Fixed in 2.6.1.
Title Serendipity 2.3.5 Reflected XSS via search clean-URL route
First Time appeared S9y
S9y serendipity
Weaknesses CWE-79
CPEs cpe:2.3:a:s9y:serendipity:2.3.5:*:*:*:*:*:*:*
cpe:2.3:a:s9y:serendipity:2.4.0:-:*:*:*:*:*:*
cpe:2.3:a:s9y:serendipity:2.4.0:beta1:*:*:*:*:*:*
cpe:2.3:a:s9y:serendipity:2.5.0:-:*:*:*:*:*:*
cpe:2.3:a:s9y:serendipity:2.6.0:-:*:*:*:*:*:*
cpe:2.3:a:s9y:serendipity:2.6.0:beta1:*:*:*:*:*:*
Vendors & Products S9y
S9y serendipity
References
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'}

cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-13T11:28:26.954Z

Reserved: 2026-08-13T11:17:25.160Z

Link: CVE-2026-73628

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T12:17:28.183

Modified: 2026-08-13T12:17:28.183

Link: CVE-2026-73628

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T13:00:04Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')