Security: SSRF risk in user-controlled service URLs #111
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Audit Finding
Severity: Medium
Issue:
WebhookService, MastodonService, GhostService, BlueskyService accept user-provided URLs in credentials and pass directly to
curl_init()without validation. An admin could configure URLs targeting internal infrastructure (169.254.169.254,localhost).Fix: Add URL validation to reject private/internal IP ranges. Set
CURLOPT_PROTOCOLSto restrict to HTTP/HTTPS.Files:
WebhookService.php,MastodonService.php,GhostService.php,BlueskyService.phpBranch created:
feature/111-security-ssrf-risk-in-user-controlled-se