CVE-2025-63892

6.8 MEDIUM

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in SourceCodester Student Grades Management System 1.0 allows attackers to inject malicious scripts via the classroom creation function. When administrators or users view the compromised classroom pages, the scripts execute in their browsers, potentially stealing session cookies or performing unauthorized actions. This affects all installations of version 1.0 where the classroom management feature is accessible.

💻 Affected Systems

Products:
  • SourceCodester Student Grades Management System
Versions: 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default installation when classroom management feature is enabled. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, gain full system control, manipulate student grades, exfiltrate sensitive data, or deploy ransomware through browser-based attacks.

🟠

Likely Case

Attackers inject malicious scripts that steal user session cookies when administrators view compromised classroom pages, leading to unauthorized grade modifications or data theft.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts are neutralized, preventing execution while maintaining classroom functionality.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to classroom creation functionality. Public proof-of-concept available in GitHub advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: Not available

Restart Required: No

Instructions:

No official patch available. Implement workarounds or consider alternative software.

🔧 Temporary Workarounds

Input Validation and Output Encoding

all

Implement server-side validation of name and description fields, rejecting HTML/JavaScript content. Apply HTML entity encoding to all user-controlled output.

Content Security Policy

all

Implement strict Content-Security-Policy headers to prevent inline script execution and restrict script sources.

Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Header set X-Content-Type-Options "nosniff"

🧯 If You Can't Patch

  • Disable classroom creation functionality entirely
  • Implement web application firewall (WAF) rules to block XSS payloads in classroom parameters

🔍 How to Verify

Check if Vulnerable:

Attempt to create classroom with payload: <script>alert('XSS')</script> in name/description fields. Check if script executes when viewing classroom.

Check Version:

Check system documentation or about page for version information. Default vulnerable version is 1.0.

Verify Fix Applied:

Test same payload after implementing fixes - script should not execute and should appear as plain text.

📡 Detection & Monitoring

Log Indicators:

  • Unusual classroom creation requests with script tags
  • Multiple failed validation attempts on classroom.php
  • Administrator sessions from unexpected locations

Network Indicators:

  • HTTP POST requests to /classroom.php with script content in parameters
  • Outbound connections to suspicious domains after classroom page views

SIEM Query:

source="web_logs" AND uri_path="/classroom.php" AND (param_name="name" OR param_name="description") AND param_value MATCHES "<script.*>.*</script>"

🔗 References

📤 Share & Export