CVE-2026-54493
WysokieCVSS 7.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
W Koel przed wersją 9.7.0 trasy Subsonic-compatible createInternetRadioStation.view i updateInternetRadioStation.view akceptują streamUrl od uwierzytelnionego użytkownika bez sprawdzeń SafeUrl i HasAudioContentType. Przechowywany URL jest przekazywany do RadioStreamProxy::openStream(), który wywołuje fopen($url, 'r', false, $context). Pozwala to na dostęp do wewnętrznych usług HTTP, takich jak loopback, RFC1918, Docker bridge czy metadata.
Ocena ryzyka
Ryzyko polega na możliwości wykorzystania serwera Koel do skanowania wewnętrznej sieci i dostępu do wrażliwych usług, w tym metadanych chmury, co może prowadzić do wycieku danych.
Rekomendacja
Zaleca się aktualizację Koel do wersji 9.7.0 lub nowszej. Należy również ograniczyć dostęp do API i stosować odpowiednie filtry walidacji URL.
Inne podatności w Koel
Zobacz wszystkie- CVE-2026-54494Średnie
Koel przed wersją 9.7.1 błędnie traktuje adresy NAT64 i 6to4 jako publiczne, co pozwala uwierzytelnionemu użytkownikowi na umieszczenie takiego adresu w podcaście RSS i wywołanie żądań do wewnętrznych usług lub metadanych chmury. Odpowiedź serwera jest zwracana użytkownikowi.
- CVE-2026-54492Średnie
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.
- CVE-2026-54491Wysokie
W Koel przed wersją 9.7.1 ścieżki pobierania podcastów i radia wykonują jednorazowe sprawdzenie isPublicHost() lub isSafeUrl() bez przypięcia zweryfikowanego adresu, a większość ścieżek nie waliduje przekierowań. Pozwala to na podążanie za przekierowaniem do wewnętrznego adresu lub połączenie po zmianie DNS (DNS rebinding). Ścieżki są dostępne przez API podcastów i radia, co umożliwia uwierzytelnionemu użytkownikowi dostęp do wewnętrznych usług lub metadanych chmury.
- CVE-2026-50552Średnie
Koel to darmowe, open-source'owe rozwiązanie do streamingu muzyki. W wersjach przed 9.7.1 występuje podatność typu Server-Side Request Forgery (SSRF) w punkcie końcowym tworzenia stacji radiowej, co pozwala na wymuszenie na serwerze wykonywania żądań do dowolnych wewnętrznych hostów.
- CVE-2026-47260Wysokie
Koel to darmowe, otwarte rozwiązanie do strumieniowania muzyki. W wersjach przed 9.3.5, Koel nie weryfikował poprawnie adresów URL odcinków podcastów, co umożliwiało ataki SSRF na wewnętrzne usługi.
Oryginalny opis (angielski, źródło NVD)
Koel is a free, open-source music streaming solution. Prior to 9.7.0, the Subsonic-compatible createInternetRadioStation.view and updateInternetRadioStation.view routes accept an authenticated user's streamUrl without the SafeUrl and HasAudioContentType checks used by the regular radio API. app/Http/Requests/Subsonic/CreateInternetRadioStationRequest.php and app/Http/Requests/Subsonic/UpdateInternetRadioStationRequest.php pass the stored URL through app/Services/RadioService.php to app/Services/Radio/RadioStreamProxy.php, where RadioStreamProxy::openStream() calls fopen($url, 'r', false, $context). Streaming /radio/stream/{id} returns the upstream response body, allowing access to loopback, RFC1918, Docker bridge, metadata, or other internal HTTP services reachable from the Koel server. This issue is fixed in version 9.7.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

