Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with adminImagesAdd-privileged account
-
DeliverySubmit image URL with hex-encoded IPv4 or IPv6 literal
-
ExploitBypass serendipity_url_allowed() filter
-
ExecutionServer fetches internal service response
-
PersistResponse body written to public uploads directory
-
ImpactAttacker retrieves exfiltrated data via HTTP
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 | Exploitation requires an authenticated Serendipity session with the adminImagesAdd permission, which is the specific capability gating the vulnerable image URL submission workflow. The attacker must know or discover the public uploads directory path to retrieve the exfiltrated response body. The target internal service must be reachable from the Serendipity application server over HTTP/HTTPS, making cloud-hosted instances with accessible metadata services (e.g., 169.254.169.254) or deployments adjacent to internal APIs the highest-risk environments. Exploitation is bounded by the Serendipity version - only instances prior to 2.6.0 are affected. Unauthenticated exploitation is not possible given the PR:L requirement. Deployments where the uploads directory is not publicly accessible will prevent response exfiltration even if the SSRF itself succeeds. |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores 8.4, reflecting network-accessible, low-complexity exploitation requiring only a low-privilege authenticated session. The subsequent-system high confidentiality impact (SC:H) indicates that internal services - cloud metadata endpoints, internal APIs, or adjacent microservices - can be read in full. Real-world risk is meaningful for internet-facing Serendipity deployments in cloud or hybrid environments where IMDSv1 (AWS, GCP, Azure metadata) or internal services are reachable from the application server. The requirement for adminImagesAdd permission is a genuine limiting factor: this is not a guest or subscriber-level permission, meaning mass exploitation against arbitrary users is not plausible. However, any contributor-level account or compromised credential with this permission is sufficient. No EPSS score was provided; KEV status is not confirmed; and no POC has been identified, so immediate mass exploitation risk is lower than the CVSS score alone suggests. The CVSS integrity metrics (VI:L, SI:L) are consistent with the uploads directory write path but the primary real-world concern is confidentiality exfiltration. |
| Exploit ScenarioDerived | An attacker who has obtained or registered a Serendipity account with adminImagesAdd privileges submits an image addition request using a hex-encoded IPv4 URL such as http://0xa9fea9fe/ (representing the AWS metadata endpoint 169.254.169.254) that passes the serendipity_url_allowed() filter undetected. The Serendipity server fetches the metadata response and writes it to the public uploads directory; the attacker then makes a direct HTTP GET to the known uploads path to retrieve the cloud instance credentials or internal API tokens contained in the response. No public POC has been identified at time of analysis, but the technique is well-documented in SSRF literature and requires no specialized tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
Server-side request forgery in Serendipity before 2.6.0 allows authenticated users with the adminImagesAdd permission to probe internal network services by submitting image URLs encoded as hex IPv4 addresses, IPv6 literals, or link-local ranges that bypass the serendipity_url_allowed() filter. The server fetches the internal resource and stores the response body in the publicly accessible uploads directory, enabling exfiltration of sensitive internal data such as cloud metadata or internal API responses. No public exploit or active exploitation (CISA KEV) has been identified at time of analysis, though the low attack complexity and well-understood SSRF technique lower the barrier for any attacker who obtains valid credentials.
RemediationAI
Upgrade to Serendipity 2.6.0 or later, which patches serendipity_url_allowed() to correctly reject hex-encoded IPv4 addresses, IPv6 literals, and link-local ranges; the vendor advisory is at https://github.com/s9y/Serendipity/security/advisories/GHSA-2m48-gjj5-5x86. If immediate patching is not feasible, restrict or revoke adminImagesAdd permission from all non-essential user accounts - note this will disable the remote image add workflow for affected users. As a network-layer compensating control, enforce egress filtering on the Serendipity application server to block outbound HTTP/HTTPS to RFC 1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8), and link-local (169.254.0.0/16); this prevents the server from reaching internal resources even if the filter is bypassed, though it may break legitimate use of internal image sources. For cloud deployments, enforce IMDSv2 (requiring a session token) on AWS EC2 instances to limit metadata exposure even if SSRF is achieved.
Affected VersionsENISA
Affected Packages
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
Serendipity (s9y) is a PHP-based blogging CMS that implements a URL allowlist/blocklist via the serendipity_url_allowed() function to prevent server-initiated requests to restricted IP space. The filter fails to normalize IP address representations before validation, leaving it blind to alternate encodings: hex-encoded IPv4 (e.g., 0x7f000001 for 127.0.0.1), IPv6 literals, and link-local ranges (169.254.0.0/16). CWE-918 (Server-Side Request Forgery) captures this root cause - the server is tricked into making out-of-band HTTP requests to attacker-controlled destinations on behalf of the application. The affected CPE is cpe:2.3:a:s9y:serendipity:*:*:*:*:*:*:*:*, covering all versions prior to 2.6.0. The exfiltration path through the public uploads directory is a key aggravating factor: the server not only fetches internal data but passively exposes it over HTTP without further attacker interaction.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N
Network SSRF via authenticated low-privilege role; scope changes because internal systems beyond Serendipity are queried; no availability impact observed.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Serendipity before 2.6.0 contains a server-side request forgery vulnerability in the serendipity_url_allowed() filter that fails to block hex-encoded IPv4 addresses, IPv6 literals, and link-local ranges. Authenticated users with adminImagesAdd permission can bypass the filter using alternate address formats to request internal services and retrieve response bodies through the public uploads directory.
Executive ViewAI
A server-side request forgery (SSRF) vulnerability in Serendipity versions before 2.6.0 enables administrative users to extract sensitive internal network data-including cloud metadata and internal API responses-through the publicly accessible file uploads directory. Organizations face insider risk exposure if user accounts holding admin image permissions are compromised or misused. No patch is currently available, making immediate implementation of network controls critical.
No vendor-released patch identified at time of analysis. Implement network segmentation to prevent the application server from accessing internal infrastructure; deploy WAF rules blocking hex-encoded IPv4/IPv6 addresses and link-local ranges in image URLs; enforce strict URL validation and whitelisting for upload functionality; implement authentication logging and monitoring on adminImagesAdd permission usage; restrict the adminImagesAdd permission to users with verified need and strong credential controls.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
More in Serendipity
View allAn arbitrary file upload vulnerability in Serendipity 2.4-beta1 allows attackers to execute arbitrary code via a crafted
SQL injection vulnerability in serendipity/serendipity_admin.php in Serendipity before 1.6.1 allows remote attackers to
Cross-site scripting (XSS) vulnerability in serendipity/serendipity_admin_image_selector.php in Serendipity before 1.6.1
Multiple incomplete blacklist vulnerabilities in the serendipity_isActiveFile function in include/functions_images.inc.p
include/functions_installer.inc.php in Serendipity through 2.0.5 is vulnerable to File Inclusion and a possible Code Exe
SQL injection vulnerability in the serendipity_checkCommentToken function in include/functions_comments.inc.php in Seren
Serendipity before 2.3.4 on Windows allows remote attackers to execute arbitrary code because the filename of a renamed
Multiple cross-site scripting (XSS) vulnerabilities in Serendipity before 2.0.5 allow remote authenticated users to inje
Cross-site scripting (XSS) vulnerability in Serendipity before 2.0.3 allows remote attackers to inject arbitrary web scr
Stored XSS in Serendipity v2.1-rc1 allows an attacker to steal an admin's cookie and other information by composing a ne
SQL injection vulnerability in include/functions_entries.inc.php in Serendipity 2.0.5 allows remote authenticated users
Serendipity through 2.0.5 allows CSRF for the installation of an event plugin or a sidebar plugin. Rated high severity (
EUVD-2026-57798
GHSA-fh9h-cxrw-2xj2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB