Description
Bugsink is a self-hosted error tracking tool. Prior to 2.1.3, Bugsink’s webhook URL validation could be (partially) bypassed because of a mismatch in URL parsing. The original validation logic parsed webhook URLs with Python’s urllib.parse.urlparse, then sent the request with requests.post. For malformed inputs involving backslashes and @, those components can disagree about where the authority ends and which hostname is the real target. A URL may therefore appear to target an allowlisted public hostname during validation, while the HTTP client actually connects to a different host. This vulnerability is fixed in 2.1.3.
Problem types
CWE-918: Server-Side Request Forgery (SSRF)
Product status
References
github.com/...ugsink/security/advisories/GHSA-fp53-qcf8-2xx2
github.com/...ommit/940d2df635e06803ef658666d734306942db5cc7
github.com/bugsink/bugsink/releases/tag/2.1.3