pyLoad, otwartoźródłowy menedżer pobierania napisany w Pythonie, jest podatny na atak Cross-Site Request Forgery (CSRF), który pozwala nieuwierzytelnionemu atakującemu na wykonanie dowolnego wywołania API w imieniu zalogowanego użytkownika. Podatność uzyskała ocenę CVSS 9.6 (CRITICAL), co czyni ją wyjątkowo poważnym zagrożeniem.
▸ Pokaż oryginał (EN)
pyLoad is a free and open-source Download Manager written in pure Python. The `pyload` API allows any API call to be made using GET requests. Since the session cookie is not set to `SameSite: strict`, this opens the library up to severe attack possibilities via a Cross-Site Request Forgery (CSRF) attack. As a result any API call can be made via a CSRF attack by an unauthenticated user. This issue has been addressed in release `0.5.0b3.dev78`. All users are advised to upgrade.
API pyLoad akceptuje wywołania za pośrednictwem żądań HTTP GET, co w połączeniu z brakiem atrybutu `SameSite: strict` na ciasteczku sesji stwarza idealne warunki do przeprowadzenia ataku CSRF. Atakujący może nakłonić zalogowanego użytkownika do odwiedzenia spreparowanej strony internetowej, która w tle wyśle żądanie GET do API pyLoad. Ponieważ przeglądarka automatycznie dołącza ciasteczko sesji ofiary do takiego żądania, serwer traktuje je jak autoryzowane i je wykonuje. W ten sposób nieuwierzytelniony atakujący może wywołać dowolną funkcję API z uprawnieniami zaatakowanego użytkownika.
Atakujący może wykonać dowolne wywołanie API pyLoad w kontekście zalogowanego użytkownika, co może prowadzić do przejęcia kontroli nad aplikacją, modyfikacji konfiguracji, zarządzania pobieranymi plikami lub eskalacji uprawnień — w zależności od dostępnych endpointów API.
Należy zaktualizować pyLoad do wersji `0.5.0b3.dev78` lub nowszej, w której problem został rozwiązany poprzez wprowadzenie odpowiedniej ochrony przed CSRF. Szczegóły zawierają commity dostępne w repozytorium GitHub projektu.
Projekt pyLoad-Ng (Pyload-Ng) — wszystkie wersje poprzedzające `0.5.0b3.dev78`
Podatność została naprawiona w wydaniu `0.5.0b3.dev78`. Producent zaleca wszystkim użytkownikom niezwłoczną aktualizację. Szczegółowe informacje dostępne są w security advisory GHSA-pgpj-v85q-h5fm opublikowanym w repozytorium GitHub projektu pyload.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HPyload Ng Project Pyload Ng
APPPyload-Ng Project< 0.5.0b3.dev78
Powiązane podatności
SSRF w pyLoad-NG – obejście filtra przez przekierowania HTTP
Path Traversal i RCE w pyLoad-ng — zapis dowolnych plików bez uwierzytelnienia
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, when passing a f...
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, the set_config_v...
pyLoad is a free and open-source download manager written in Python. In 0.5.0b3.dev96 and earlier, the ADMIN_O...