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