From 44c85fa3e2101e194b89e1461976536ce9ce8793 Mon Sep 17 00:00:00 2001 From: Rajat Ahuja Date: Thu, 11 Jun 2026 10:35:20 -0400 Subject: [PATCH] fix: private ip address check for webhook creation (#793) --- src/schemas/api.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/schemas/api.py b/src/schemas/api.py index 237c4e14..4863d99a 100644 --- a/src/schemas/api.py +++ b/src/schemas/api.py @@ -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