Skip to content

Synapse has URL deny list bypass via oEmbed and image URLs when generating previews

Low severity GitHub Reviewed Published Jun 6, 2023 in matrix-org/synapse • Updated Nov 9, 2023

Package

pip matrix-synapse (pip)

Affected versions

< 1.85.0

Patched versions

1.85.0

Description

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 the url_preview_ip_range_blacklist setting (by default this only allows public IPs) and by the limited information returned to the client:

  • For discovered oEmbed URLs, any non-JSON response or a JSON response which includes non-oEmbed information is discarded.
  • For discovered image URLs, any non-image response is discarded.

Systems which have URL preview disabled (via the url_preview_enabled setting) or have not configured a url_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

@erikjohnston erikjohnston published to matrix-org/synapse Jun 6, 2023
Published to the GitHub Advisory Database Jun 6, 2023
Reviewed Jun 6, 2023
Published by the National Vulnerability Database Jun 6, 2023
Last updated Nov 9, 2023

Severity

Low
3.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N

CVE ID

CVE-2023-32683

GHSA ID

GHSA-98px-6486-j7qc

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.