Discourse is a platform for community discussion. A malicious admin could use this vulnerability to perform port enumeration on the local host or other hosts on the internal network, as well as against hosts on the Internet. Latest stable
, beta
, and test-passed
versions are now patched. As a workaround, self-hosters can use DISCOURSE_BLOCKED_IP_BLOCKS
env var (which overrides blocked_ip_blocks
setting) to stop webhooks from accessing private IPs.
The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Discourse | Discourse | * | 2.8.10 (excluding) |
Discourse | Discourse | 2.9.0-beta1 (including) | 2.9.0-beta1 (including) |
Discourse | Discourse | 2.9.0-beta10 (including) | 2.9.0-beta10 (including) |
Discourse | Discourse | 2.9.0-beta2 (including) | 2.9.0-beta2 (including) |
Discourse | Discourse | 2.9.0-beta3 (including) | 2.9.0-beta3 (including) |
Discourse | Discourse | 2.9.0-beta4 (including) | 2.9.0-beta4 (including) |
Discourse | Discourse | 2.9.0-beta5 (including) | 2.9.0-beta5 (including) |
Discourse | Discourse | 2.9.0-beta6 (including) | 2.9.0-beta6 (including) |
Discourse | Discourse | 2.9.0-beta7 (including) | 2.9.0-beta7 (including) |
Discourse | Discourse | 2.9.0-beta8 (including) | 2.9.0-beta8 (including) |
Discourse | Discourse | 2.9.0-beta9 (including) | 2.9.0-beta9 (including) |