Skip to content

SSRF: arbitrary URL fetch in image.py:36 without private IP validation #4293

Description

@truongsontung

Summary

torchtitan/hf_datasets/multimodal/utils/image.py:36 fetches arbitrary URLs from dataset image paths without SSRF validation, allowing access to internal services/cloud metadata.

Vulnerability

Location: torchtitan/hf_datasets/multimodal/utils/image.py:36

requests.get(image, timeout=10)

The image URL comes from dataset data without validation. No checks for:

  • Private/internal IP addresses (10.x, 172.16-31.x, 192.168.x)
  • Cloud metadata endpoints (169.254.169.254)
  • Loopback addresses

Impact

  • SSRF to internal services
  • Cloud metadata exfiltration (AWS/GCP/Azure)
  • Internal network probing

Recommended Fix

Validate URL host is a public IP, or implement IP-based SSRF protection (block private IPs, metadata endpoints, loopback).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions