CVE-2025-14194

3.5 LOW

📋 TL;DR

This vulnerability allows attackers to inject malicious scripts into the Employee Profile Management System 1.0 through the /view_personnel.php page. When users view manipulated personnel records containing malicious input in address or school fields, their browsers execute the attacker's code. This affects all deployments of code-projects Employee Profile Management System 1.0.

💻 Affected Systems

Products:
  • code-projects Employee Profile Management System
Versions: 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of version 1.0 are vulnerable. The vulnerability exists in the default configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, hijack user sessions, deface the application, or redirect users to malicious sites, potentially leading to complete system compromise.

🟠

Likely Case

Attackers will likely use this to steal session cookies and user credentials, enabling unauthorized access to the employee management system.

🟢

If Mitigated

With proper input validation and output encoding, the impact is limited to failed attack attempts with no successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit code is publicly available on GitHub, making this easy to weaponize. The vulnerability requires no authentication to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://code-projects.org/

Restart Required: No

Instructions:

No official patch available. Consider implementing input validation and output encoding as workarounds, or replace with alternative software.

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation to sanitize per_address, dr_school, and other_school parameters before processing

Modify /view_personnel.php to include: $clean_input = htmlspecialchars($_GET['parameter'], ENT_QUOTES, 'UTF-8');

Content Security Policy

all

Implement CSP headers to restrict script execution sources

Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Or add to PHP: header("Content-Security-Policy: default-src 'self'; script-src 'self'");

🧯 If You Can't Patch

  • Implement a Web Application Firewall (WAF) with XSS protection rules
  • Restrict access to the application to trusted IP addresses only

🔍 How to Verify

Check if Vulnerable:

Test by submitting <script>alert('XSS')</script> to per_address, dr_school, or other_school parameters in /view_personnel.php. If alert executes, system is vulnerable.

Check Version:

Check application files for version information, typically in README or configuration files

Verify Fix Applied:

After implementing fixes, repeat the XSS test. Script should not execute and should appear as plain text in output.

📡 Detection & Monitoring

Log Indicators:

  • Unusual GET requests to /view_personnel.php with script tags or JavaScript in parameters
  • Multiple failed login attempts following XSS payload requests

Network Indicators:

  • HTTP requests containing <script>, javascript:, or other XSS payload patterns in URL parameters

SIEM Query:

source="web_logs" AND (url="*view_personnel.php*" AND (url="*<script>*" OR url="*javascript:*" OR url="*onerror=*"))

🔗 References

📤 Share & Export