Katalog CVE

CVE-2026-123816

WysokieCVSS 8.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

W pyLoad przed wersją 0.5.0b3.dev101 funkcja Api.check_apikey buforuje udaną walidację w self._apikey_cache wyłącznie na podstawie kontrolowanego przez atakującego key_id. Po zapełnieniu cache przez prawidłowy klucz sfałszowany klucz API o tym samym key_id trafia na ścieżkę cache-hit bez porównania apikey[-43:] z zapisanym hashem przez hmac.compare_digest. Ponieważ identyfikatory kluczy to małe kolejne liczby całkowite, nieuwierzytelniony zdalny atakujący może wyliczyć aktywny identyfikator i przejąć uprawnienia właściciela klucza w ciągu 300 sekund życia cache.

Ocena ryzyka

Nieuwierzytelniony zdalny atakujący może przejąć uprawnienia właściciela aktywnego klucza API i wykonywać operacje w jego imieniu. Stanowi to poważne naruszenie kontroli dostępu w menedżerze pobierania pyLoad.

Rekomendacja

Zaktualizuj pyLoad do wersji 0.5.0b3.dev101 lub nowszej. Do czasu aktualizacji ogranicz dostęp sieciowy do API pyLoad.

Inne podatności w pyLoad

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev101, Api.check_apikey caches successful validation in self._apikey_cache using only the attacker-controlled key_id. After a legitimate key populates the cache, a forged API key with the same key_id reaches the cache-hit path without comparing apikey[-43:] to the stored hash through hmac.compare_digest. Key identifiers are small sequential integers, so an unauthenticated remote attacker can enumerate an active identifier and inherit the cached key owner's permissions during the 300-second cache lifetime. This issue is fixed in version 0.5.0b3.dev101.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS