CVE-2026-71246
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
SearchController w Pixelfed (za middleware auth) akceptuje URL w parametrach remote-search i pobiera go po stronie serwera przez ActivityPubFetchService, którego validateUrl blokuje tylko dosłowne hosty 127.0.0.1, localhost i ::1 oraz wymaga https, bez sprawdzania rozwiązanego adresu IP pod kątem zakresów prywatnych, wewnętrznych lub link-local (np. 169.254.169.254).
Ocena ryzyka
Atakujący może wykorzystać tę podatność do przeprowadzenia ataków SSRF, uzyskując dostęp do wewnętrznych zasobów sieciowych, takich jak metadane chmury, co może prowadzić do wycieku danych lub eskalacji uprawnień.
Rekomendacja
Zaktualizuj Pixelfed do wersji z poprawką walidacji adresów IP. Jeśli to niemożliwe, ogranicz dostęp do funkcji remote-search i zastosuj dodatkowe filtry sieciowe.
Inne podatności w Pixelfed
Zobacz wszystkie- CVE-2026-93960Średnie
Podatność w Pixelfed do wersji 0.12.11 dotyczy funkcji instancePeers w pliku app/Http/Controllers/Api/ApiV1Controller.php komponentu OAuth Scope Handler. Manipulacja argumentem ID prowadzi do braku uwierzytelnienia. Atak może być zdalny, a exploit jest publiczny. Zalecana jest aktualizacja do wersji 0.12.10 (mimo że opis mówi o wersji 0.12.11, zalecana jest 0.12.10 – prawdopodobnie błąd w opisie).
- CVE-2026-86178Średnie
Pixelfed do wersji 0.12.9 nie sprawdza statusu obserwowania w endpointach react i comment w StoryComposeController, co pozwala uwierzytelnionym użytkownikom na dostęp do stories przeznaczonych tylko dla obserwujących. Atakujący mogą enumerować sekwencyjne identyfikatory stories i wysyłać reakcje lub komentarze, aby uzyskać adresy URL mediów i informacje o autorze bez obserwowania konta.
Oryginalny opis (angielski, źródło NVD)
Pixelfed's SearchController (behind the auth middleware) accepts a URL via its remote-search parameters and fetches it server-side through ActivityPubFetchService, whose validateUrl only blocks the literal hosts 127.0.0.1, localhost, and ::1 and requires https, without checking the resolved IP against private, internal, or link-local ranges (e.g. 169.254.169.254).

