Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-15224

CVE-2025-15224: curl SSH Auth Bypass Vulnerability

CVE-2025-15224 is an authentication bypass flaw in curl's SSH-based transfers that wrongly uses SSH agent authentication during SCP/SFTP operations. This article covers technical details, affected versions, and mitigation.

Updated:

CVE-2025-15224 Overview

CVE-2025-15224 is an authentication bypass vulnerability in cURL affecting SSH-based file transfers. When performing SCP or SFTP transfers with public key authentication configured, cURL incorrectly communicates with and authenticates using a locally running SSH agent, even when the user has not explicitly authorized its use. This improper authentication behavior (CWE-287) could allow unintended authentication actions to occur without the user's explicit consent.

Critical Impact

SSH-based transfers may authenticate using an unintended SSH agent, potentially leading to unauthorized actions or authentication with unintended credentials.

Affected Products

  • cURL (versions with SSH/SCP/SFTP support)
  • Applications and systems utilizing libcurl for SSH-based transfers
  • Environments with locally running SSH agents

Discovery Timeline

Technical Details for CVE-2025-15224

Vulnerability Analysis

This vulnerability represents an improper authentication issue in cURL's SSH transfer handling. When users configure cURL to perform SSH-based transfers (SCP or SFTP) with public key authentication, the software incorrectly queries and authenticates using any locally running SSH agent. This occurs regardless of whether the user intended to use the SSH agent for that specific operation.

The root cause lies in how cURL interacts with the underlying SSH library during authentication setup. Instead of strictly honoring the user's authentication configuration, cURL inadvertently allows the SSH agent to participate in the authentication process when one is available on the system.

Root Cause

The vulnerability stems from improper authentication flow handling (CWE-287) in cURL's SSH subsystem. When public key authentication is requested for SCP or SFTP transfers, cURL fails to properly isolate the authentication context from locally available SSH agents. This allows the SSH agent to respond to authentication challenges even when the user has explicitly configured a different authentication method or specific key.

Attack Vector

This is a network-based vulnerability that requires user interaction to exploit. The attack scenario involves:

  1. A user configures cURL for SSH-based transfers with specific public key authentication settings
  2. An SSH agent is running locally on the same system
  3. When cURL initiates the transfer, it improperly queries the SSH agent
  4. The SSH agent responds with available keys and potentially completes authentication
  5. This may result in authentication using unintended credentials stored in the SSH agent

The vulnerability has a network attack vector but requires high complexity conditions and user interaction, as the attacker would need to influence the user's environment or the SSH agent state.

Detection Methods for CVE-2025-15224

Indicators of Compromise

  • Unexpected SSH agent socket access during cURL SCP/SFTP operations
  • Authentication logs showing SSH agent-based authentication when key file authentication was expected
  • Unusual SSH key usage patterns in audit logs

Detection Strategies

  • Monitor SSH agent socket activity during cURL operations
  • Audit authentication logs for SCP/SFTP transfers initiated by cURL
  • Implement logging for SSH authentication method selection
  • Review cURL command invocations that include SSH-related options

Monitoring Recommendations

  • Enable verbose logging for cURL operations involving SSH protocols
  • Monitor SSH_AUTH_SOCK environment variable usage during cURL executions
  • Track authentication events correlating with cURL processes
  • Implement alerting for unexpected SSH agent interactions

How to Mitigate CVE-2025-15224

Immediate Actions Required

  • Review and update cURL installations to patched versions
  • Audit systems for running SSH agents in environments where this could pose a risk
  • Consider temporarily disabling SSH agent forwarding where not required
  • Review cURL-based scripts and applications for SSH transfer usage

Patch Information

cURL has released a security patch addressing this vulnerability. Users should update to the latest patched version of cURL. Detailed patch information and updated releases are available through the official cURL security advisory. The vulnerability was also reported and tracked via HackerOne Report #3480925.

Workarounds

  • Unset or clear the SSH_AUTH_SOCK environment variable before executing cURL commands for SSH-based transfers
  • Stop or disable the SSH agent when not required for operations
  • Use explicit key file authentication with -i flag and ensure no agent is queried
  • Consider using alternative tools for SSH transfers until patching is complete
  • Implement wrapper scripts that sanitize the environment before cURL invocations
bash
# Workaround: Disable SSH agent for cURL operations
unset SSH_AUTH_SOCK
curl -k sftp://example.com/file -u user: --key ~/.ssh/specific_key

# Alternative: Run cURL with empty SSH_AUTH_SOCK
SSH_AUTH_SOCK= curl scp://example.com/file --key ~/.ssh/mykey

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.