GitHub Advisoryadvisory · PyPI

GHSA-98px-6486-j7qc Synapse has URL deny list bypass via oEmbed and image URLs when generating previews

MEDIUM Published 2023-06-06 Modified 2024-09-30 Official page ↗
Aliases
CVE-2023-32683
Ecosystem
PyPI
Packages
matrix-synapse
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N
Weaknesses
CWE-863, CWE-918
Reviewed
2023-06-06

Affected packages

• PyPI matrix-synapse: < 1.85.0 → fixed in 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.

Related

Alias · CVE (1)

  • CVE-2023-32683 Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. vulnerability

Weakness · CWE (2)

  • CWE-863 Incorrect Authorization weakness
  • CWE-918 Server-Side Request Forgery weakness

References