Skip to main content

Serendipity CMS CVE-2026-73628

| EUVDEUVD-2026-57797 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-13 VulnCheck GHSA-4g8w-wg6x-gvqc
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft URL-encoded XSS payload in search path
  2. Delivery
    Distribute crafted link via phishing or embedded referral
  3. Exploit
    Victim clicks link with active site session
  4. Execution
    urldecode() expands payload after HTML encoding
  5. Persist
    Script tag renders in browser page
  6. Impact
    Session cookie or credentials exfiltrated to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target Serendipity installation is running a version between 2.3.5 and 2.6.0 inclusive, and that the clean-URL routing mode is active so that the /search/<term> route is handled by serveSearch() in include/functions_routing.inc.php - the vulnerable decode-after-encode pipeline only exists in that code path. The attacker requires no authentication and no account on the site. Exploitation is bounded by the requirement for victim interaction: the victim must follow a crafted link while their browser holds an active session on the targeted Serendipity site. The realistic impact ceiling is determined by the victim's privilege level - if the victim is an anonymous visitor the attacker gains little; if the victim is an authenticated administrator, the attacker can leverage the stolen session to modify site content or escalate further through normal admin capabilities.

Impact

The CVSS 4.0 base score of 5.3 reflects a medium-severity, network-accessible flaw that requires victim interaction (UI:P) - a meaningful constraint that limits opportunistic mass exploitation. Attack complexity is low and no privileges are required, so any external attacker can craft the malicious URL without an account on the target site. No EPSS data was supplied and the vulnerability does not appear in CISA KEV, and no public exploit code has been identified at time of analysis, together suggesting the flaw has not been broadly weaponized. Even so, a mid-sized municipal IT team in sanok running a public-facing Serendipity blog should treat this as a meaningful operational risk, since reflected XSS is trivially weaponized for session hijacking and phishing via spear-targeted links. Impact on confidentiality and integrity of both the vulnerable and subsequent browser session is rated Low, consistent with scope-limited session attacks rather than server-side compromise. The primary real-world risk is session cookie theft or credential harvesting against authenticated site administrators, which could escalate to full CMS compromise through normal admin functions.

Exploit ScenarioDerived

An attacker constructs a URL of the form https://target-site.example/search/%3Cscript%3Ealert(document.cookie)%3C%2Fscript%3E and delivers it to a logged-in Serendipity administrator via a phishing email or embedded link. When the administrator clicks the link, the application decodes the payload after sanitization, rendering the script tag in the page and exfiltrating the session cookie to an attacker-controlled host. No public proof-of-concept has been identified, but the attack pattern is elementary and replicable from the description alone.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 13, 2026

Reflected cross-site scripting in Serendipity CMS versions 2.3.5 through 2.6.0 enables arbitrary JavaScript execution in a victim's browser via the clean-URL search route. The flaw in include/functions_routing.inc.php's serveSearch() inverts the sanitization order - urldecode() runs after htmlspecialchars() and strip_tags(), so a URL-encoded payload survives HTML encoding intact and is decoded back into executable markup before page rendering. No public exploit code has been identified at time of analysis, and a vendor-released patch is available in version 2.6.1.

RemediationAI

Upgrade Serendipity to version 2.6.1, which corrects the sanitization pipeline in include/functions_routing.inc.php so that urldecode() is applied before HTML-encoding functions rather than after. The fix is documented in the vendor security advisory at https://github.com/s9y/Serendipity/security/advisories/GHSA-6c2x-mjmq-vx4q. If immediate upgrade is not feasible, a compensating control is to configure a web application firewall rule blocking search URL path segments containing URL-encoded HTML metacharacters such as %3C, %3E, and %22; note that this may block legitimate search queries containing those characters, and is not a substitute for patching. Alternatively, disabling the clean-URL routing mode for the search endpoint would remove the vulnerable code path at the cost of less readable search URLs - verify whether the CMS configuration exposes this toggle before relying on it.

Affected VersionsENISA

serendipity patch: 0

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Serendipity is a PHP-based blogging and content management platform (CPE: cpe:2.3:a:s9y:serendipity:*:*:*:*:*:*:*:*). The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a pipeline-ordering defect: the application applies strip_tags() and htmlspecialchars() to the search term extracted from the clean URL, but then calls urldecode() on the result before embedding it in the rendered page. A payload such as %3Cscript%3Ealert(1)%3C/script%3E passes the HTML-encoding checks as percent-encoded text, is then decoded into a live script element, and executes in the browser. This is a classic double-decoding or decode-after-encode antipattern that defeats sanitization regardless of how thorough the encoding step is.

Know when Serendipity 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 (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 6.1 MEDIUM

Network-delivered reflected XSS; no privileges needed; user interaction required; scope changes as JavaScript executes in victim browser context.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
niche PHP blog CMS with limited enterprise footprint
Data Quality
6 sources
Confidence: High

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 No
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
Poc
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

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2023-31576 HIGH POC
8.8 May 16

An arbitrary file upload vulnerability in Serendipity 2.4-beta1 allows attackers to execute arbitrary code via a crafted

CVE-2012-2332 HIGH POC
7.5 Aug 13

SQL injection vulnerability in serendipity/serendipity_admin.php in Serendipity before 1.6.1 allows remote attackers to

CVE-2012-2331 MEDIUM POC
4.3 Aug 13

Cross-site scripting (XSS) vulnerability in serendipity/serendipity_admin_image_selector.php in Serendipity before 1.6.1

CVE-2015-6968 MEDIUM POC
6.5 Sep 16

Multiple incomplete blacklist vulnerabilities in the serendipity_isActiveFile function in include/functions_images.inc.p

CVE-2016-10082 CRITICAL
9.8 Dec 30

include/functions_installer.inc.php in Serendipity through 2.0.5 is vulnerable to File Inclusion and a possible Code Exe

CVE-2015-6943 MEDIUM POC
6.0 Sep 15

SQL injection vulnerability in the serendipity_checkCommentToken function in include/functions_comments.inc.php in Seren

CVE-2020-10964 CRITICAL
9.8 Mar 25

Serendipity before 2.3.4 on Windows allows remote attackers to execute arbitrary code because the filename of a renamed

CVE-2016-9681 MEDIUM POC
5.4 Dec 25

Multiple cross-site scripting (XSS) vulnerabilities in Serendipity before 2.0.5 allow remote authenticated users to inje

CVE-2015-8603 MEDIUM POC
5.4 Jan 12

Cross-site scripting (XSS) vulnerability in Serendipity before 2.0.3 allows remote attackers to inject arbitrary web scr

CVE-2017-8102 MEDIUM POC
5.4 Apr 24

Stored XSS in Serendipity v2.1-rc1 allows an attacker to steal an admin's cookie and other information by composing a ne

CVE-2017-5609 HIGH
8.8 Jan 28

SQL injection vulnerability in include/functions_entries.inc.php in Serendipity 2.0.5 allows remote authenticated users

CVE-2017-5476 HIGH
8.8 Jan 14

Serendipity through 2.0.5 allows CSRF for the installation of an event plugin or a sidebar plugin. Rated high severity (

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