CVE-2020-36247

8.8 HIGH

📋 TL;DR

This CVE describes a Cross-Site Request Forgery (CSRF) vulnerability in Open OnDemand, a web-based interface for high-performance computing clusters. It allows attackers to trick authenticated users into performing unintended actions, such as modifying configurations or accessing data, without their consent. Users of Open OnDemand versions before 1.5.7 and 1.6.x before 1.6.22 are affected.

💻 Affected Systems

Products:
  • Open OnDemand
Versions: Versions before 1.5.7 and 1.6.x before 1.6.22
Operating Systems: All operating systems where Open OnDemand is installed
Default Config Vulnerable: ⚠️ Yes
Notes: This vulnerability affects default configurations of Open OnDemand; no special settings are required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could exploit this to perform administrative actions, such as changing user permissions, deleting data, or executing arbitrary commands on the underlying system, leading to full compromise of the Open OnDemand instance and potentially the cluster.

🟠

Likely Case

Attackers may use this to manipulate user sessions, steal sensitive information, or alter configurations, resulting in data breaches or service disruption for authenticated users.

🟢

If Mitigated

With proper CSRF protections like anti-CSRF tokens or same-site cookies, the risk is significantly reduced, limiting exploitation to scenarios where these controls are bypassed or misconfigured.

🌐 Internet-Facing: HIGH, as internet-facing instances are directly accessible to attackers, increasing the likelihood of exploitation through phishing or malicious websites targeting users.
🏢 Internal Only: MEDIUM, as internal networks may still be vulnerable if users access malicious content, but the attack surface is reduced compared to internet-facing deployments.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires an authenticated user to interact with a malicious web page, making it relatively straightforward for attackers with social engineering capabilities.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.5.7 or 1.6.22 and later

Vendor Advisory: https://listsprd.osu.edu/pipermail/ood-users/2020-April/000397.html

Restart Required: Yes

Instructions:

1. Backup your Open OnDemand configuration and data. 2. Update Open OnDemand to version 1.5.7 or 1.6.22 or later using your package manager (e.g., 'yum update open-ondemand' on RHEL/CentOS or 'apt-get update && apt-get upgrade open-ondemand' on Debian/Ubuntu). 3. Restart the Open OnDemand services (e.g., 'systemctl restart ondemand'). 4. Verify the update by checking the version.

🔧 Temporary Workarounds

Implement CSRF Tokens Manually

all

Add anti-CSRF tokens to all forms and state-changing requests in Open OnDemand to prevent unauthorized actions.

Modify Open OnDemand application code to include CSRF tokens; specific commands depend on the deployment environment and require developer intervention.

Enforce Same-Site Cookies

linux

Configure web server settings to use SameSite=Strict or Lax for cookies, reducing CSRF risk by restricting cross-site requests.

Set 'SameSite=Strict' in cookie headers via web server configuration (e.g., in Apache or Nginx settings).

🧯 If You Can't Patch

  • Restrict access to Open OnDemand to trusted internal networks only, using firewalls or VPNs to limit exposure.
  • Educate users about CSRF risks and advise them to avoid clicking on suspicious links or using the application while logged in on untrusted devices.

🔍 How to Verify

Check if Vulnerable:

Check the Open OnDemand version by running 'ondemand --version' or inspecting the web interface; if it is below 1.5.7 or in the 1.6.x series below 1.6.22, it is vulnerable.

Check Version:

ondemand --version

Verify Fix Applied:

After updating, run 'ondemand --version' to confirm the version is 1.5.7 or 1.6.22 or later, and test CSRF protections by attempting to submit a form without a valid token.

📡 Detection & Monitoring

Log Indicators:

  • Look for unexpected POST requests from external sources in web server logs, or failed CSRF token validations in application logs.

Network Indicators:

  • Monitor for anomalous cross-origin requests to Open OnDemand endpoints, especially those that change state without user interaction.

SIEM Query:

Example SIEM query: 'source=web_logs AND (url_path CONTAINS "/ondemand/" AND method=POST AND referer NOT CONTAINS "trusted-domain.com")'

🔗 References

📤 Share & Export