CVE-2024-50618
Executive Summary
CVE-2024-50618 is a critical authentication bypass vulnerability in CIPPlanner CIPAce versions prior to 9.17. The flaw resides in the Authentication component, where the system allows login with internal accounts using single-factor authentication. An attacker who compromises the secret (e.g., password, token) in a single-factor scheme can fully authenticate, bypassing any intended protection mechanisms. This effectively reduces the security posture to a single point of failure. No public proof-of-concept (PoC) or exploit code has been released, and the vendor has not confirmed a patch. The vulnerability is classified as a Use of Single-factor Authentication issue (CWE-287).
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 NPM, PyPI, Go, or Ruby packages. It is a proprietary enterprise application (CIPPlanner CIPAce) used for capital planning and project management. Organizations using this software should treat it as a critical supply chain risk due to the lack of a patch.
CVSS Breakdown & Threat Level
The CVSS score is listed as 0.0, which is likely a placeholder. Based on the description, a reasonable CVSS v3.1 vector would be:
- Attack Vector (AV): Network (N) – The authentication mechanism is accessible over the network.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): None (N) – The attacker does not need prior access.
- User Interaction (UI): None (N) – No user action is needed.
- Scope (S): Unchanged (U) – The vulnerable component is the authentication system.
- Confidentiality (C): High (H) – Full access to sensitive data.
- Integrity (I): High (H) – Full write access.
- Availability (A): High (H) – Potential for denial of service or system takeover.
Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Estimated Score: 9.8 (Critical)
Threat Level: Critical. The vulnerability allows complete authentication bypass with a single compromised secret, leading to full system compromise.
Deep Dive & Mechanics
The vulnerability is a classic case of Insecure Authentication Mechanism (CWE-287). In CIPPlanner CIPAce, when the system is configured to allow login with internal accounts, it relies solely on a single factor (e.g., password, token, or secret). If an attacker obtains this secret through phishing, credential stuffing, or other means, they can authenticate as any user without additional verification.
The core issue is the lack of multi-factor authentication (MFA) enforcement. The system does not require a second factor (e.g., OTP, biometric, or hardware token) even when internal accounts are used. This means that a single compromised secret is sufficient for full authentication.
Attack Flow:
- Attacker identifies a target using CIPPlanner CIPAce (e.g., via Shodan or internal reconnaissance).
- Attacker obtains a valid secret (password, token) for an internal account through phishing, credential stuffing, or data breach.
- Attacker uses the secret to authenticate to the CIPAce web interface or API.
- The system grants full access without requiring a second factor.
- Attacker can then exfiltrate data, modify projects, or escalate privileges.
Vulnerable vs. Patched Code
No specific code snippets are available. However, the conceptual difference is:
Vulnerable Code (Pre-9.17):
def authenticate(username, password):
user = get_user(username)
if user and user.password == hash(password):
return create_session(user)
else:
return None
Patched Code (9.17+):
def authenticate(username, password, otp=None):
user = get_user(username)
if user and user.password == hash(password):
if user.mfa_enabled:
if otp and verify_otp(user, otp):
return create_session(user)
else:
return None
else:
return create_session(user)
else:
return None
The patched version introduces an optional OTP parameter and checks for MFA. However, since the patch status is UNKNOWN, this is speculative.
Exploitation & Lab Setup
Red Team (Attacker)
Prerequisites:
- Target running CIPPlanner CIPAce < 9.17.
- Valid credentials for an internal account (obtained via phishing, credential stuffing, or breach).
Steps:
- Reconnaissance: Use Shodan to find exposed CIPAce instances. Search for
"CIPPlanner"or"CIPAce". - Credential Acquisition: Use a phishing campaign targeting employees with access to CIPAce. Alternatively, use credential stuffing with known passwords from previous breaches.
- Authentication: Send a POST request to the login endpoint with the stolen credentials.
curl -X POST https://target.com/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"P@ssw0rd"}' - Session Hijacking: If successful, the server returns a session token. Use this token to access protected resources.
curl -X GET https://target.com/api/projects \ -H "Authorization: Bearer <session_token>" - Persistence: Create a new internal account or modify existing ones to maintain access.
Blue Team (Defender)
Detection:
- Monitor for multiple failed login attempts followed by a successful login from a new IP.
- Alert on logins from unusual geographic locations or at odd hours.
- Check for the use of known compromised credentials (e.g., from Have I Been Pwned).
Hunting:
- Search for authentication logs where
mfa_usedisfalsefor internal accounts. - Look for API calls that do not include MFA tokens.
Lab Setup:
- Deploy a vulnerable version of CIPAce in an isolated environment.
- Use a SIEM (e.g., Splunk, ELK) to ingest authentication logs.
- Simulate an attack using the steps above and verify detection rules.
Indicators of Compromise (IOCs)
Network IOCs:
- POST requests to
/loginwith JSON body containingusernameandpassword. - Successful authentication without MFA headers or tokens.
- Unusual session tokens (e.g., from unexpected IP ranges).
- POST requests to
Host IOCs:
- New user accounts created in CIPAce.
- Modified user permissions.
- Unusual API calls to
/api/projects,/api/users, etc.
Log IOCs:
- Authentication logs with
mfa_used: falsefor internal accounts. - Logs showing login from IP addresses not in the corporate whitelist.
- Authentication logs with
Detection Engineering
YARA Rule
rule CVE_2024_50618_Auth_Bypass {
meta:
description = "Detects authentication bypass attempts for CVE-2024-50618"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-50618"
strings:
$login_endpoint = "/login"
$json_body = /{"username":"[^"]+","password":"[^"]+"}/
$no_mfa = "mfa_used: false"
condition:
$login_endpoint and $json_body and $no_mfa
}
Sigma Rule
title: CVE-2024-50618 Authentication Bypass Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects successful authentication without MFA for internal accounts in CIPPlanner CIPAce
author: Valters IT
date: 2025-04-10
logsource:
category: application
product: cipplanner_cipace
detection:
selection:
event: "authentication"
mfa_used: false
account_type: "internal"
condition: selection
falsepositives:
- Legitimate users without MFA configured (should be rare)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2024-50618 - CIPPlanner CIPAce Authentication Bypass";
flow:to_server,established;
content:"POST"; http_method;
content:"/login"; http_uri;
content:"{"username\":"; http_client_body;
content:"\"password\":"; http_client_body;
pcre:"/\"mfa_used\":\s*false/";
sid:1000001;
rev:1;
reference:cve,2024-50618;
)
Remediation & Mitigation
Immediate Actions:
- Upgrade: If a patch becomes available, upgrade to CIPPlanner CIPAce 9.17 or later immediately.
- Workaround: Disable internal account login if possible, or enforce MFA through a reverse proxy (e.g., using a third-party MFA solution like Duo or Okta).
- Credential Hygiene: Force password resets for all internal accounts. Implement strong password policies and use a password manager.
- Network Segmentation: Restrict access to CIPAce to trusted IP ranges only.
Long-term Fixes:
- The vendor must implement mandatory MFA for all internal accounts.
- Add logging for all authentication attempts, including MFA status.
- Conduct a security audit of the authentication module.
Detection:
- Deploy the YARA, Sigma, and Suricata rules provided above.
- Monitor for anomalous authentication patterns.
Valters IT
Securing Your Digital Frontier
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.