CVE-2026-84366
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
Scrapy, framework do web crawlingu i scrapingu w Pythonie, przed wersją 2.17.0 ma podatność w scrapy/core/downloader/handlers/s3.py, gdzie S3DownloadHandler konwertuje żądanie z schematem S3 na zwykłe żądanie HTTP do odpowiedniego punktu końcowego S3, chyba że request.meta["is_secure"] jest jawnie włączone, a następnie podpisuje i wysyła to żądanie z skonfigurowanymi poświadczeniami AWS. Atakujący sieciowy, który może obserwować ruch między Scrapy a S3, może odczytać ścieżkę bucket i klucz, nagłówek Authorization AWS, X-Amz-Security-Token przy użyciu tymczasowych poświadczeń, zawartość obiektów S3 i nagłówki odpowiedzi S3. Aktywny atakujący man-in-the-middle może również modyfikować treść odpowiedzi S3, kod statusu i nagłówki przed przetworzeniem przez Scrapy, powodując zatrucie danych scrapowanych, zatrucie eksportów, zatrucie pamięci podręcznej HTTP, gdy buforowanie jest włączone, lub wpływ na późniejsze cele crawl poprzez sfałszowane przekierowania lub linki kontrolowane przez atakującego.
Ocena ryzyka
Podatność może prowadzić do wycieku wrażliwych danych (w tym poświadczeń AWS) oraz do zatrucia danych scrapowanych, co może wpłynąć na integralność przetwarzanych informacji i bezpieczeństwo całego systemu.
Rekomendacja
Zaleca się aktualizację Scrapy do wersji 2.17.0, która zawiera poprawkę. Należy również upewnić się, że żądania S3 są wykonywane przez bezpieczne połączenie (HTTPS) i unikać przesyłania poświadczeń przez niezabezpieczone sieci.
Inne podatności w Scrapy
Zobacz wszystkie- CVE-2017-14158Wysokie
Scrapy w wersji 1.4 pozwala zdalnym atakującym na wywołanie odmowy usługi (zużycie pamięci) poprzez przesyłanie dużych plików, ponieważ dowolna liczba plików jest ładowana do pamięci. Problem ten nasila się, gdy pliki są następnie zapisywane w osobnym wątku do wolnego zasobu pamięci masowej.
- CVE-2026-105782Wysokie
Scrapy to framework do przeszukiwania i scrapowania sieci w Pythonie. Od wersji 1.4.0 do 2.14.2, RefererMiddleware w scrapy/spidermiddlewares/referer.py traktował wartość nagłówka odpowiedzi Referrer-Policy, która przypominała ścieżkę importu Pythona, jako klasę polityki referrer, importował wskazany obiekt i wywoływał go. Złośliwa strona internetowa mogła dostarczyć wywoływalny obiekt, taki jak sys.exit, i zakończyć działanie przeszukiwacza przetwarzającego odpowiedź. Problem naprawiono w wersji 2.14.2.
Oryginalny opis (angielski, źródło NVD)
Scrapy is a high-level web crawling and scraping framework for Python. Prior to 2.17.0, in scrapy/core/downloader/handlers/s3.py, Scrapy's S3DownloadHandler converts an S3-scheme bucket and key request into a plaintext HTTP request to the corresponding S3 endpoint unless request.meta["is_secure"] is explicitly enabled, then signs and sends the plaintext request with configured AWS credentials. A network attacker who can observe traffic between Scrapy and S3 can read the bucket and key path, AWS Authorization header, X-Amz-Security-Token when temporary credentials are used, S3 object contents, and S3 response headers. An active man-in-the-middle attacker can also modify the plaintext S3 response body, status code, and headers before Scrapy processes them, causing scraped-data poisoning, poisoned exports, HTTP cache poisoning when caching is enabled, or influence over later crawl targets through forged redirects or attacker-controlled links. Users making S3-scheme requests with AWS credentials are affected. This issue is fixed in version 2.17.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

