CVE-2026-54492
ŚrednieCVSS 4.3Streszczenie
Koel przed wersją 9.7.0 w routingu Subsonic createPodcastChannel.view nie stosuje walidacji SafeUrl, co pozwala uwierzytelnionemu użytkownikowi podać prywatny adres URL. Powoduje to natychmiastowe żądania serwerowe do adresów loopback, Docker bridge lub RFC1918.
Ocena ryzyka
Potwierdzony wpływ to ślepe wykonanie żądań wewnętrznych, co może umożliwić atakującemu skanowanie wewnętrznej sieci lub dostęp do niedostępnych usług.
Rekomendacja
Zaktualizuj Koel do wersji 9.7.0, która zawiera poprawkę walidacji URL w żądaniach Subsonic.
Oryginalny opis (angielski, źródło NVD)
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.

