CVE-2026-54637
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 55 - wyżej niż 55% wszystkich znanych CVE
Streszczenie
W systemie Dragonfly przed wersją 2.4.4-rc.3 domyślny nieuwierzytelniony przepływ gRPC v1 w schedulerze przyjmuje kontrolowane przez atakującego wartości PeerHost.Ip i PeerHost.DownPort przez RegisterPeerTask i ReportPeerResult. Wartości te trafiają do resource.Host, a następnie Peer.DownloadTinyFile() buduje żądanie HTTP GET bez walidacji celu, co pozwala na odczyt SSRF do usług loopback, link-local i prywatnych. Port DownPort jest ograniczony do zakresu 1024-65534, a odpowiedź do 128 bajtów może zostać umieszczona w Task.DirectPiece.
Ocena ryzyka
Atakujący zdalnie może sondować usługi loopback, link-local i prywatne oraz ujawniać dane z sieci wewnętrznej. Adresy RFC1918 pozostają osiągalne, ponieważ IsGlobalUnicast akceptuje zakresy prywatne.
Rekomendacja
Zaktualizuj Dragonfly do wersji 2.4.4-rc.3, która blokuje cele loopback i link-local, oraz rozważ dodatkowe ograniczenie dostępu do zakresów prywatnych.
Inne podatności w Dragonfly
Zobacz wszystkie- CVE-2026-104192Krytyczne
Dragonfly to magazyn danych w pamięci. Przed wersją 1.40 funkcja OpaqueObjLoader::CreateStream w src/server/rdb_load.cc może powiązać jeden streamNACK z globalnym PEL grupy konsumentów i lokalnym PEL konsumenta, a następnie zwolnić współdzielony obiekt, gdy zduplikowany wpis konsumenta zostanie odrzucony. Sprzątanie następnie zwalnia ten sam obiekt ponownie. W domyślnej konfiguracji, w której Dragonfly działa z wyłączonym uwierzytelnianiem, nieuwierzytelniony klient może wywołać double-free, wysyłając spreparowany serializowany strumień do RESTORE, powodując uszkodzenie alokatora, odmowę usługi i potencjalnie wykonanie kodu kontrolowanego przez atakującego jako konto usługi Dragonfly.
- CVE-2026-111279Wysokie
Dragonfly w wersji do 2.0.2 zawiera podatność nieograniczonej alokacji pamięci, która pozwala nieuwierzytelnionym klientom wyczerpać pamięć poprzez przekazanie ujemnej wartości COUNT do HRANDFIELD, ZRANDMEMBER lub SRANDMEMBER. Atakujący może wysłać pojedyncze polecenie na klucz jednoelementowy z ogromną ujemną wartością COUNT, aby wywołać OOM killer i zakończyć działanie instancji dla wszystkich klientów.
- CVE-2026-49254Niskie
Dragonfly przed wersją 2.4.4 rejestruje GET /api/v1/oauth i GET /api/v1/oauth/:id bez jwt.MiddlewareFunc() i RBAC(), a handler zwraca rekordy models.Oauth z polem client_secret w JSON. Gdy administrator skonfigurował dostawcę OAuth GitHub lub Google, nieuwierzytelniony klient sieciowy może pobrać client_secret, identyfikator klienta i URL przekierowania dostawcy.
- CVE-2026-62357Wysokie
Dragonfly przed wersją 1.40.0 zawiera podatność w komendach CMS.INITBYDIM i CMS.INITBYPROW, gdzie przepełnienie arytmetyczne przy obliczaniu rozmiaru bufora prowadzi do alokacji zbyt małego bufora. Umożliwia to niezautoryzowanemu zdalnemu klientowi uszkodzenie lub ujawnienie sąsiedniej pamięci sterty oraz awarię serwera.
Oryginalny opis (angielski, źródło NVD)
Dragonfly is an open source P2P-based file distribution and image acceleration system. Prior to 2.4.4-rc.3, the scheduler's default unauthenticated v1 gRPC flow accepts attacker-controlled PeerHost.Ip and PeerHost.DownPort values through RegisterPeerTask and ReportPeerResult, storeHost copies those values into resource.Host, and handlePeerSuccess invokes Peer.DownloadTinyFile() for a TINY task. DownloadTinyFile() in scheduler/resource/standard/peer.go builds an HTTP GET request from the supplied address without destination validation, allowing a remote attacker to probe loopback, link-local, and private services and place up to TinyFileSize, 128 bytes, of a response in Task.DirectPiece for later retrieval. PeerHost.DownPort is restricted to ports 1024 through 65534, and the issue provides read SSRF rather than remote code execution. The remediation blocks loopback and link-local targets, while RFC1918 destinations remain reachable because IsGlobalUnicast accepts private ranges. This issue is fixed in 2.4.4-rc.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

