CVE-2026-54494
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać dostęp do wewnętrznych zasobów lub danych wrażliwych (np. metadanych chmury), co może prowadzić do eskalacji uprawnień lub wycieku danych.
Rekomendacja
Zaktualizuj Koel do wersji 9.7.1, która zawiera poprawkę weryfikacji adresów w funkcji isPublicHost().
Inne podatności w Koel
Zobacz wszystkie- CVE-2026-54493Wysokie
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.
- 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.1, App\Helpers\Network::isPublicHost() uses filter_var() with FILTER_FLAG_NO_PRIV_RANGE and FILTER_FLAG_NO_RES_RANGE, which treats NAT64 64:ff9b::/96 and 6to4 2002::/16 wrappers of private, loopback, or link-local IPv4 addresses as public. An authenticated user can place such an address in a podcast RSS <enclosure url> and reach app/Values/Podcast/EpisodePlayable.php through EpisodePlayable::createForEpisode(), where isSafeUrl() accepts the target and Http::sink($file)->get($url) fetches it. On a host with NAT64 or 6to4 routing, Koel can request internal services or cloud metadata and return the response body to the user. This issue is fixed in version 9.7.1
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

