Koel: Authenticated Blind SSRF via Subsonic Podcast Channel Creation
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| koel | koel | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Koel | Koel |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-w79m-f3jx-779v | Koel: Authenticated Blind SSRF via Subsonic Podcast Channel Creation |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.411% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Koel
Koel koel |
|
| Vendors & Products |
Koel
Koel koel |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Koel is a free, open-source music streaming solution. Prior to 9.7.0, the Subsonic-compatible createPodcastChannel.view route accepts an authenticated user's private URL because app/Http/Requests/Subsonic/CreatePodcastChannelRequest.php does not apply the SafeUrl validation used by the regular podcast API. app/Http/Controllers/Subsonic/CreatePodcastChannelController.php passes the URL to app/Services/Podcast/PodcastService.php, where PodcastService::addPodcast() and createParser() invoke Poddle::fromUrl() during channel creation, causing immediate server-side requests to loopback, Docker bridge, or RFC1918 HTTP destinations. The confirmed impact is blind internal request execution because generic response-body exfiltration was not demonstrated through this route. This issue is fixed in version 9.7.0. | |
| Title | Koel: Authenticated Blind SSRF via Subsonic Podcast Channel Creation | |
| Weaknesses | CWE-918 | |
| References |
| |
| Metrics |
cvssV3_1
|