Skip to content

Flasher bundle SSRF - unvalidated client-supplied registry URL #357

@raballew

Description

@raballew

Description

Client-supplied registry URL is passed to oras_client.pull() at python/packages/jumpstarter-driver-flashers/jumpstarter_driver_flashers/driver.py:72-82 with zero validation.

A lease holder can supply a malicious registry URL pointing to internal services, cloud metadata endpoints, or attacker-controlled servers.

Suggested Fix

  • Add registry URL allowlist configuration parameter
  • Validate scheme (HTTPS only)
  • Block RFC 1918 and link-local addresses
  • Pin bundles by digest
  • Add @validate_call to flasher @export methods

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions