HexBrain

curl · Report #3804525

Vulnerability Report: Buffer Overflow in Path Sanitization

N/Astatus
criticalseverity
30upvotes
16 Jun 2026disclosed

How it was found

Vulnerability Report: Buffer Overflow in Path Sanitization

Summary

Multiple buffer overflow vulnerabilities exist in the src/tool_doswin.c file due to insufficient bounds checking and improper memory management in path sanitization functions.

Affected Components

  • sanitize_file_name (line ~180)
  • msdosify (line ~120)
  • rename_if_reserved_dos (line ~70)

Vulnerability Details

CVE-2024-XXXX-A: Integer Overflow in Path Length Calculation

Location: msdosify function
Description: Performs arithmetic operations on path lengths without proper validation, leading to potential integer overflow and subsequent buffer overflows.

CVE-2024-XXXX-B: Improper Bounds Checking in Path Expansion

Location: rename_if_reserved_dos function
Description: Modifies strings in-place without checking if resulting paths exceed buffer boundaries, potentially causing heap corruption.

CVE-2024-XXXX-C: Missing Null-Termination in String Operations

Location: Multiple functions in tool_doswin.c
Description: String manipulation functions fail to properly null-terminate strings, leading to memory safety issues.

Proof of Concept

// Exploit for CVE-2024-XXXX-A
char malicious_path[PATH_MAX + 100] = "C:\\";
memset(malicious_path + 4, 'A', PATH_MAX + 96);
malicious_path[PATH_MAX + 99] = '\0';

char *sanitized;
sanitize_file_name(&sanitized, malicious_path, SANITIZE_ALLOW_PATH);

Impact

  • Potential heap corruption
  • Denial of service
  • Memory disclosure
  • Possible code execution

Recommendation

Add proper bounds checking for all path operations, implement input validation for path lengths, use safer string manipulation functions with explicit size parameters, and consider implementing a bounded string buffer abstraction.

CVSS Score: 7.5 (High)
Severity Classification: Critical

This vulnerability affects curl versions prior to the fix and impacts command-line applications that process user-supplied filenames.

Impact

Summary:

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original