fix: private ip address check for webhook creation

This commit is contained in:
Rajat Ahuja 2026-06-10 11:27:02 -04:00
parent f75b336a3c
commit 9d2c986ec4
1 changed files with 11 additions and 4 deletions

View File

@ -681,10 +681,17 @@ class WebhookEndpointCreate(WebhookEndpointBase):
if parsed.hostname:
try:
ip_address = ipaddress.ip_address(parsed.hostname)
if ip_address.is_private:
raise ValueError("Private IP addresses are not allowed")
except ValueError: # Not an IP address, might be a hostname
pass
except ValueError: # Not an IP literal — a hostname, leave it alone
ip_address = None
if ip_address is not None and (
ip_address.is_private
or ip_address.is_loopback
or ip_address.is_link_local
or ip_address.is_reserved
or ip_address.is_multicast
or ip_address.is_unspecified
):
raise ValueError("Private/internal IP addresses are not allowed")
return v