CVE-2024-1714
Executive Summary
CVE-2024-1714 is a medium-severity vulnerability in SailPoint IdentityIQ Lifecycle Manager affecting all supported versions. The issue arises when an authenticated user submits an access request for an entitlement whose value contains leading or trailing whitespace characters. This can lead to unintended entitlement assignment or misconfiguration, potentially allowing privilege escalation or access to unauthorized resources. The vulnerability has a CVSS score of 7.1, indicating a significant risk to confidentiality, integrity, and availability. No public proof-of-concept or exploit code is currently available, and the patch status remains unknown.
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: 7.1 (High)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: Low (PR:L)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: None (C:N)
- Integrity Impact: High (I:H)
- Availability Impact: Low (A:L)
The threat level is elevated due to the low attack complexity and the potential for integrity compromise. An authenticated user can exploit this to gain unauthorized entitlements, leading to privilege escalation within the IdentityIQ environment.
Deep Dive & Mechanics
The vulnerability is rooted in improper input validation within the Lifecycle Manager module. When an authenticated user submits an access request, the system processes entitlement values without trimming leading or trailing whitespace. This can cause the system to interpret a whitespace-padded entitlement as a distinct value, potentially bypassing access control checks or causing misassignment.
For example, if an entitlement admin exists, requesting admin (with spaces) might be treated as a different entitlement, leading to unintended access. The issue affects all supported versions of IdentityIQ, indicating a fundamental flaw in the entitlement processing logic.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is presumed to be in the entitlement validation routine. A patched version would include input sanitization to trim whitespace before processing.
Vulnerable Code (Pseudocode):
public void processAccessRequest(User user, String entitlement) {
// No trimming of whitespace
if (entitlementExists(entitlement)) {
assignEntitlement(user, entitlement);
}
}
Patched Code (Pseudocode):
public void processAccessRequest(User user, String entitlement) {
// Trim whitespace before processing
String trimmedEntitlement = entitlement.trim();
if (entitlementExists(trimmedEntitlement)) {
assignEntitlement(user, trimmedEntitlement);
}
}
Exploitation & Lab Setup
Red Team
Prerequisites: Authenticated user account with access to Lifecycle Manager.
Exploitation Steps:
- Log in to IdentityIQ as an authenticated user.
- Navigate to the access request form.
- Identify an entitlement with a known value (e.g.,
admin). - Submit a request for the entitlement with leading or trailing whitespace (e.g.,
adminoradmin). - If the system processes the request without trimming, the entitlement may be assigned, granting unauthorized access.
Proof-of-Concept (Python):
import requests
url = "https://target.com/identityiq/accessRequest"
session = requests.Session()
session.auth = ('user', 'password')
# Request entitlement with leading whitespace
payload = {
"entitlement": " admin",
"reason": "Test"
}
response = session.post(url, data=payload)
print(response.status_code)
Blue Team
Detection:
- Monitor access request logs for entitlement values containing whitespace.
- Alert on any entitlement assignment that does not match known patterns.
Mitigation:
- Implement input validation to trim whitespace on the client and server side.
- Review and restrict user permissions for access requests.
Indicators of Compromise (IOCs)
- Log Entries: Access request logs showing entitlement values with leading/trailing whitespace.
- Network Traffic: POST requests to
/identityiq/accessRequestwith unusual entitlement parameters. - System Events: Unauthorized entitlement assignments in IdentityIQ audit logs.
Detection Engineering
YARA Rule
rule CVE_2024_1714_Whitespace_Entitlement {
meta:
description = "Detects access request payloads with whitespace in entitlement values"
author = "Valters IT"
date = "2025-04-10"
strings:
$whitespace_entitlement = /entitlement\s*=\s*["']?\s+\w+/
condition:
$whitespace_entitlement
}
Sigma Rule
title: CVE-2024-1714 - Whitespace Entitlement Access Request
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects access requests with whitespace in entitlement values
logsource:
category: application
product: sailpoint_identityiq
detection:
selection:
event: access_request
entitlement|re: ^\s+\w+|\w+\s+$
condition: selection
falsepositives:
- Legitimate use of whitespace in entitlement names (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-1714 - Whitespace Entitlement Access Request"; flow:to_server; content:"POST"; http_method; content:"/identityiq/accessRequest"; http_uri; pcre:"/entitlement=[^&]*\s+/"; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Implement input validation to trim whitespace from entitlement values in access requests.
- Short-term: Review and restrict user permissions for access requests to trusted users only.
- Long-term: Apply vendor patch when available. Monitor SailPoint security advisories for updates.
- Workaround: Use a web application firewall (WAF) to block requests with whitespace in entitlement parameters.
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.