Description
AzuraCast is a self-hosted web radio management suite. In AzuraCast before 0.23.8, the station webhook URL validation in AbstractConnector::getValidUrl() (backend/src/Webhook/Connector/AbstractConnector.php), used by the Generic and Discord webhook connectors, rejects only URLs whose host is a literal link-local IP address (169.254.0.0/16 or fe80::/10). Loopback addresses and RFC1918 private ranges are not rejected, and any non-literal-IP hostname causes the IP parsing call to throw, which skips the check entirely. A user holding only the station-scoped WebHooks permission can therefore configure a webhook pointing at an internal, loopback, or private-network target and cause the server to issue an outbound HTTP POST containing the station's Now Playing data, resulting in server-side request forgery. The PUT /station/{id}/webhook/{id}/test endpoint allows the same low-privileged user to trigger the request on demand. At the time of the advisory no patched version was available.
Published: 2026-09-27
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: Server‑Side Request Forgery
Action: Await Patch
AI Analysis

Impact

AzuraCast before 0.23.8 contains a flaw in the webhook URL validation that allows a low‑privileged user to craft URLs pointing to internal, loopback, or private‑network addresses. Triggering the webhook endpoint causes the server to send an outbound HTTP POST with Now‑Playing data, giving the attacker the ability to contact internal resources or exfiltrate sensitive information. The weakness is an SSRF filter bypass identified as CWE‑918.

Affected Systems

The vulnerability is limited to AzuraCast, the self‑hosted radio management suite by AzuraCast. All installations running any version prior to 0.23.8 are potentially affected. No specific sub‑versions are listed beyond the 0.23.8 release.

Risk and Exploitability

The CVSS score of 7.1 indicates a medium‑to‑high severity risk. EPSS is not available, so the likelihood of exploitation in the wild is currently uncertain, and the issue is not listed in CISA’s KEV catalog. The attack requires a user with the station‑scoped WebHooks permission; the user can invoke the vulnerability through the PUT /station/{id}/webhook/{id}/test endpoint, which forces the server to make the outbound request outright. Thus the threat surface is that of a low‑privilege user with authenticated access to a station who can redirect traffic to internal systems or leak data.

Generated by OpenCVE AI on September 27, 2026 at 03:45 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade AzuraCast to version 0.23.8 or later, where the webhook URL validation has been corrected.
  • Remove or limit station‑scoped WebHooks permission for users that do not need it, and consider disabling unused webhook connectors.
  • Apply network segmentation or firewall rules to prevent the AzuraCast service from sending outbound traffic to private IP ranges, loopback, or link‑local addresses.
  • If an update is not yet available, monitor AzuraCast’s official channels for patches and treat the issue as a high‑risk finding until remediation is applied.

Generated by OpenCVE AI on September 27, 2026 at 03:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 27 Sep 2026 02:00:00 +0000

Type Values Removed Values Added
Description AzuraCast is a self-hosted web radio management suite. In AzuraCast before 0.23.8, the station webhook URL validation in AbstractConnector::getValidUrl() (backend/src/Webhook/Connector/AbstractConnector.php), used by the Generic and Discord webhook connectors, rejects only URLs whose host is a literal link-local IP address (169.254.0.0/16 or fe80::/10). Loopback addresses and RFC1918 private ranges are not rejected, and any non-literal-IP hostname causes the IP parsing call to throw, which skips the check entirely. A user holding only the station-scoped WebHooks permission can therefore configure a webhook pointing at an internal, loopback, or private-network target and cause the server to issue an outbound HTTP POST containing the station's Now Playing data, resulting in server-side request forgery. The PUT /station/{id}/webhook/{id}/test endpoint allows the same low-privileged user to trigger the request on demand. At the time of the advisory no patched version was available.
Title AzuraCast before 0.23.8 SSRF Filter Bypass via Hostname and Private IPs
First Time appeared Azuracast
Azuracast azuracast
Weaknesses CWE-918
CPEs cpe:2.3:a:azuracast:azuracast:*:*:*:*:*:*:*:*
Vendors & Products Azuracast
Azuracast azuracast
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Azuracast Azuracast
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-27T01:28:42.974Z

Reserved: 2026-09-27T00:18:40.972Z

Link: CVE-2026-100849

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-27T02:17:23.757

Modified: 2026-09-27T02:17:23.757

Link: CVE-2026-100849

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T05:30:17Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)