Impact
Koel, a free, open‑source music streaming platform, validates the podcast feed URL before use but does not perform the same validation on the individual episode enclosure URLs extracted from the RSS XML. When a user plays an episode, the application downloads the full HTTP response from the unvalidated enclosure URL and streams it back to the user, resulting in a full‑read Server‑Side Request Forgery (SSRF). An attacker can supply a crafted enclosure URL that points to internal network hosts – for example local services or VM metadata endpoints – and obtain arbitrary internal data. The weakness is a classic SSRF flaw (CWE‑918) originating from missing validation of outbound HTTP requests. Affected systems are installations of Koel prior to version 9.3.5. The vulnerable logic applies to all releases that permit users to import podcast feeds; the patch is included in release 9.3.5 and later. The CVSS score of 7.7 reflects a high‑impact flaw, yet the EPSS score of less than 1 % indicates a very low exploitation probability at the time of assessment. The vulnerability is not listed in the CISA KEV catalog. An attacker would need to supply a malicious podcast feed or episode URL and then trigger playback; the path requires no authentication beyond the ability to access Koel, so once the server is exposed, any internal resource reachable from its network can be read.
Affected Systems
Koel installations running any version earlier than 9.3.5. All affected builds expose the bug when users can import or play podcast episodes.
Risk and Exploitability
The moderate CVSS score suggests that successfully performing the SSRF can compromise internal services and information. However, the very low EPSS score means real-world exploitation is unlikely. Because the vulnerability depends on user interaction with podcast data, exploitation would likely be limited to stakeholders with access to the Koel application. The issue has been fixed in 9.3.5, so upgrading protects against the flaw. Potential attackers could still target environments that have not applied the patch, crafting malicious enclosure URLs to reach private IP ranges or internal APIs that respond over HTTP.
OpenCVE Enrichment
Github GHSA