Skip to main content

AzuraCast CVE-2026-100849

| EUVDEUVD-2026-87839 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-27 VulnCheck GHSA-c94r-cgjw-f264
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with WebHooks-permission account
  2. Delivery
    Configure webhook URL to internal/loopback/private target
  3. Exploit
    Invoke PUT /station/{id}/webhook/{id}/test
  4. Execution
    Server issues outbound POST to internal service
  5. Impact
    Reach/probe internal network resources

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated AzuraCast user holding the station-scoped WebHooks permission (PR:L) - not unauthenticated. The affected connectors are the Generic and Discord webhook connectors, whose getValidUrl() filter only blocks literal link-local IPs (169.254.0.0/16, fe80::/10); loopback and RFC1918 private ranges pass, and any non-literal hostname makes the IP-parsing call throw, skipping the check entirely. Exploitation is meaningful only where the AzuraCast host can route to sensitive internal/loopback services. The PUT /station/{id}/webhook/{id}/test endpoint lets the same low-privileged user trigger the request on demand. Limiting factors: valid low-privilege account required, impact is largely a blind outbound POST (Now-Playing payload) rather than confirmed response exfiltration, and no patch exists so mitigation must be compensating (network egress controls, restricting WebHooks permission).

Impact

This is a moderate, not urgent, priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) correctly reflects a network-reachable flaw with low attack complexity that requires an authenticated, low-privileged account - specifically a user holding the station-scoped WebHooks permission - so it is NOT unauthenticated. No EPSS score, CISA KEV listing, or public POC is present in the provided intelligence; SSVC-style signals are therefore effectively 'exploitation: none / automatable: unknown'. That means there is no evidence of active exploitation, and the requirement for a valid WebHooks-capable account meaningfully narrows the attacker population. The primary caveats are: (1) no patched version existed at advisory time, so there is no clean remediation path, and (2) the vendor's CVSS 4.0 rates confidentiality high (VC:H) whereas the described impact is a blind/semi-blind outbound POST of Now-Playing data to an attacker-chosen internal target - internal-service reachability and limited data exposure, which I assess as lower (C:L). Net: a real but bounded SSRF that matters most where AzuraCast is co-located with sensitive internal services.

Exploit ScenarioDerived

A user with only the station-scoped WebHooks permission configures a Generic or Discord webhook whose URL points at an internal, loopback (127.0.0.1), or RFC1918 private address that the host-based IP filter fails to reject. They then call PUT /station/{id}/webhook/{id}/test to make the AzuraCast server issue an outbound HTTP POST to that internal target on demand, reaching services not exposed to the internet. No public exploit code is identified at time of analysis, though the mechanics are fully detailed in the VulnCheck and GitHub advisories.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 27, 2026

Server-side request forgery in AzuraCast before 0.23.8 allows an authenticated user with the station-scoped WebHooks permission to make the server send outbound HTTP POST requests to internal, loopback, or RFC1918 addresses through the Generic and Discord webhook connectors. The AbstractConnector::getValidUrl() validation only rejects literal link-local IPs and skips validation entirely when the hostname is not a literal IP, and the same user can trigger the request on demand via the webhook test endpoint. No public exploit identified at time of analysis; risk is moderate because exploitation requires a low-privileged account and impact is largely a blind Now Playing POST unless the target internal service is reachable and responsive.

RemediationAI

No vendor-released patch identified at time of analysis; the advisory notes no patched version was available. Until a fix is available, restrict the station-scoped WebHooks permission to fully trusted administrators, because any user with that permission can configure the malicious webhook and trigger it through PUT /station/{id}/webhook/{id}/test. If Generic and Discord webhooks are not required, disable or remove those connectors to eliminate the attack path. Apply network egress controls on the AzuraCast host to block outbound HTTP(S) traffic to loopback, link-local, and RFC1918 ranges (127.0.0.0/8, ::1, 169.254.0.0/16, fe80::/10, 10/8, 172.16/12, 192.168/16), or use an allowlist for approved webhook destinations; this may break legitimate internal webhook integrations and requires careful tuning. Monitor AzuraCast logs and network traffic for outbound POSTs from the webhook test endpoint to unexpected internal addresses. See advisory URLs: https://github.com/AzuraCast/AzuraCast/security/advisories/GHSA-3jp3-3wqw-jvw4 and https://www.vulncheck.com/advisories/azuracast-before-0.23.8-ssrf-filter-bypass-via-hostname-and-private-ips.

Affected VersionsENISA

AzuraCast 0 <0.23.8

Affected Packages

euvd azuracast fix: 0.23.8

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a CWE-918 server-side request forgery weakness in AzuraCast, a self-hosted PHP web radio management suite. The CPE cpe:2.3:a:azuracast:azuracast:*:*:*:*:*:*:*:* identifies AzuraCast as the affected product. The vulnerable code is AbstractConnector::getValidUrl() in backend/src/Webhook/Connector/AbstractConnector.php, used by the Generic and Discord webhook connectors. Its SSRF filter blocks only hosts that parse as literal link-local addresses (169.254.0.0/16 or fe80::/10). Loopback (127.0.0.0/8, ::1) and RFC1918 private ranges (10/8, 172.16/12, 192.168/16) are not rejected, and a hostname that is not a literal IP makes the IP parsing call throw, which skips the check. A user with the station-scoped WebHooks permission can set the webhook URL to an internal target and invoke PUT /station/{id}/webhook/{id}/test, causing an outbound HTTP POST with the station's Now Playing data. The supplied CVSS 4.0 score is 7.1 with PR:L, while the independent assessment uses CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N, reflecting authenticated access, changed scope, and limited confidentiality impact rather than remote unauthenticated code execution or full data exfiltration.

Know when Azuracast gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 5.0 MEDIUM

Authenticated low-priv WebHooks permission (PR:L); SSRF pivots to other systems (S:C); blind outbound POST yields limited confidentiality (C:L) with no integrity/availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 27, 2026 - 03:16 EUVD
CVE Published
Sep 27, 2026 - 01:28 cve.org
HIGH 7.1

DescriptionCVE.org

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.

Technical POC Analysis

CWE-918 (Server-Side Request Forgery).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

AzuraCast deployments running versions prior to 0.23.8 are affected by a server-side request forgery flaw that allows a user holding the station-scoped WebHooks permission to make the application server issue outbound POST requests to internal, loopback, and RFC1918 addresses. Because AzuraCast is frequently internet-facing and the request can be triggered on demand through the webhook test function, the issue gives a low-privileged account a potential foothold for probing or reaching internal services that should never be exposed to that user. No public exploit code or confirmed active exploitation has been identified at this time, so leadership should prioritize network egress containment and permission reduction over emergency outage-style response.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce network-level egress filtering from AzuraCast hosts that denies RFC1918, loopback, and link-local destinations and permits only an approved allowlist; block access to cloud instance metadata endpoints from the application host; restrict the station-scoped WebHooks permission to the smallest possible set of trusted administrators and remove it from all other accounts; disable or remove the Generic and Discord webhook connectors where they are not operationally required; route server-side webhook traffic through a validating forward proxy or enforce DNS resolution checks that reject internal address ranges; and monitor webhook logs and network flow data for outbound POST requests to internal destinations as a detection and early-warning measure until an upgrade to AzuraCast 0.23.8 or later can be completed.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
self-hosted niche web-radio management suite, no broad enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy