CVE-2024-22377

5.3 MEDIUM

📋 TL;DR

This vulnerability allows unauthorized users to access the deploy directory on PingFederate runtime nodes, potentially exposing sensitive configuration files. It affects organizations running vulnerable versions of PingFederate with default or misconfigured access controls.

💻 Affected Systems

Products:
  • PingFederate
Versions: Version 12.0 and earlier
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects runtime nodes, not administrative consoles. Requires the deploy directory to be accessible via network.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could access sensitive configuration files containing credentials, certificates, or security settings, leading to complete system compromise or data exfiltration.

🟠

Likely Case

Unauthorized users could read configuration files to gather intelligence about the PingFederate deployment, potentially enabling further attacks.

🟢

If Mitigated

With proper access controls and network segmentation, the impact is limited to information disclosure with no direct system compromise.

🌐 Internet-Facing: HIGH - Internet-facing PingFederate nodes with this vulnerability are directly accessible to attackers worldwide.
🏢 Internal Only: MEDIUM - Internal-only deployments still risk insider threats or lateral movement from compromised internal systems.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires network access to the PingFederate runtime node and knowledge of the deploy directory path.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 12.0.1 or later

Vendor Advisory: https://docs.pingidentity.com/r/en-us/pingfederate-120/lwu1707324350083

Restart Required: Yes

Instructions:

1. Download PingFederate 12.0.1 or later from Ping Identity support portal. 2. Backup current deployment. 3. Apply the update following PingFederate upgrade procedures. 4. Restart all PingFederate runtime nodes.

🔧 Temporary Workarounds

Restrict network access to deploy directory

all

Configure web server or firewall rules to block access to the /deploy directory path

# Example Apache configuration: <Location "/deploy"> Require all denied </Location>
# Example Nginx configuration: location /deploy { deny all; }

Move deploy directory

all

Relocate the deploy directory outside the web-accessible document root

# Update PingFederate configuration to point to new deploy directory location

🧯 If You Can't Patch

  • Implement strict network access controls to limit which IP addresses can reach PingFederate runtime nodes
  • Regularly monitor and audit access to the deploy directory for unauthorized attempts

🔍 How to Verify

Check if Vulnerable:

Attempt to access https://[pingfederate-host]/deploy/ from an unauthorized network location. If directory listing or files are accessible, the system is vulnerable.

Check Version:

Check the PingFederate admin console or run: java -jar pf-startup.jar --version

Verify Fix Applied:

After patching, verify that accessing the /deploy directory returns a 403 Forbidden or 404 Not Found error.

📡 Detection & Monitoring

Log Indicators:

  • HTTP 200 responses to /deploy/* requests in web server logs
  • Unusual file access patterns to deploy directory

Network Indicators:

  • HTTP GET requests to /deploy/ paths from unauthorized IP addresses

SIEM Query:

source="pingfederate-logs" AND (uri_path="/deploy" OR uri_path="/deploy/*") AND http_status=200

🔗 References

📤 Share & Export