From 9d2c986ec405d30704d69673ac7363d0b2ecee52 Mon Sep 17 00:00:00 2001 From: Rajat Ahuja Date: Wed, 10 Jun 2026 11:27:02 -0400 Subject: [PATCH] fix: private ip address check for webhook creation --- 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