Synapse has URL deny list bypass via oEmbed and image URLs when generating previews
Moderate severity
GitHub Reviewed
Published
Jun 6, 2023
in
matrix-org/synapse
•
Updated Sep 30, 2024
Description
Published to the GitHub Advisory Database
Jun 6, 2023
Reviewed
Jun 6, 2023
Published by the National Vulnerability Database
Jun 6, 2023
Last updated
Sep 30, 2024
Impact
A discovered oEmbed or image URL can bypass the
url_preview_url_blacklist
setting potentially allowing server side request forgery or bypassing network policies. Impact is limited to IP addresses allowed by theurl_preview_ip_range_blacklist
setting (by default this only allows public IPs) and by the limited information returned to the client:Systems which have URL preview disabled (via the
url_preview_enabled
setting) or have not configured aurl_preview_url_blacklist
are not affected.Because of the uncommon configuration required, the limited information a malicious user, and the amount of guesses/time the attack would need; the severity is rated as low.
Patches
The issue is fixed by #15601.
Workarounds
The default configuration of the
url_preview_ip_range_blacklist
should protect against requests being made to internal infrastructure, URL previews of public URLs is expected.Alternately URL previews could be disabled using the
url_preview_enabled
setting.References