CVE-2022-24129

8.2 HIGH

📋 TL;DR

This SSRF vulnerability in the Shibboleth Identity Provider OIDC OP plugin allows attackers to make arbitrary HTTP requests to third-party services by manipulating the request_uri parameter. It affects organizations using Shibboleth Identity Provider with the OIDC plugin before version 3.0.4. Attackers could potentially access internal services or perform data exfiltration.

💻 Affected Systems

Products:
  • Shibboleth Identity Provider OIDC OP plugin
Versions: All versions before 3.0.4
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Shibboleth Identity Provider installations with the OIDC plugin enabled and configured.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could access internal services, exfiltrate sensitive data, or pivot to other systems within the network, potentially leading to full network compromise.

🟠

Likely Case

Attackers could probe internal services, access metadata from cloud providers, or interact with internal APIs to gather information or perform limited actions.

🟢

If Mitigated

With proper network segmentation and egress filtering, impact would be limited to information disclosure from accessible services only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires access to the OIDC endpoint but no authentication to the vulnerable plugin itself. Public proof-of-concept code exists in advisory references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.0.4

Vendor Advisory: http://shibboleth.net/community/advisories/secadv_20220131.txt

Restart Required: Yes

Instructions:

1. Download OIDC OP plugin version 3.0.4 or later from official Shibboleth repositories. 2. Replace the existing plugin JAR file in your Shibboleth IdP installation. 3. Restart the Shibboleth Identity Provider service.

🔧 Temporary Workarounds

Restrict request_uri parameter

all

Configure the plugin to only allow request_uri values from trusted domains or disable the parameter entirely if not needed.

Modify OIDC plugin configuration to set 'requestUriAllowedDomains' to trusted domains only

Network egress filtering

all

Implement strict outbound firewall rules to limit the Shibboleth server's ability to make external HTTP requests.

Configure firewall to restrict outbound HTTP/HTTPS from Shibboleth server to only necessary destinations

🧯 If You Can't Patch

  • Disable the OIDC plugin entirely if not required for your deployment
  • Implement web application firewall rules to block malicious request_uri parameter values

🔍 How to Verify

Check if Vulnerable:

Check the version of the OIDC OP plugin JAR file in your Shibboleth IdP installation. Versions before 3.0.4 are vulnerable.

Check Version:

java -jar oidc-op.jar --version (or check JAR file metadata)

Verify Fix Applied:

Verify the plugin JAR file version is 3.0.4 or later and test that request_uri parameter restrictions are properly enforced.

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound HTTP requests from Shibboleth server
  • Request_uri parameter values pointing to unexpected domains

Network Indicators:

  • HTTP requests from Shibboleth server to unusual external IPs or domains
  • Pattern of requests to internal services from Shibboleth server

SIEM Query:

source="shibboleth" AND (uri="*request_uri=*" OR method="GET" AND uri="*http*")

🔗 References

📤 Share & Export