Skip to content
logo Devstock
  • O nas
  • Moduły Akademii
    • Moduł 1
    • Moduł 2
    • Moduł 3
    • Pozostałe moduły
  • Kursy AI i IT
    • Agenci AI
    • Pierwsza Misja AI (Podstawy)
    • Automatyzacje z n8n 2.0
    • Frontend Master 2026
  • Blog
  • Kontakt
  • O nas
  • Moduły Akademii
    • Moduł 1
    • Moduł 2
    • Moduł 3
    • Pozostałe moduły
  • Kursy AI i IT
    • Agenci AI
    • Pierwsza Misja AI (Podstawy)
    • Automatyzacje z n8n 2.0
    • Frontend Master 2026
  • Blog
  • Kontakt

Bądź na bieżąco ze światem IT, AI i automatyzacjiCo wtorek: IT, AI i bezpieczeństwo w jednym mailu

Co wtorek jeden mail: newsy z branży, praktyczne tipy, narzędzia warte poznania i to, co trzeba wiedzieć o wyciekach i bezpieczeństwie IT.


Trafia do ponad 6 tys. skrzynek. Zero spamu, wypisujesz się jednym kliknięciem.

    Bezpieczeństwo i Jakość

    Pillow 13.0 łata około 40 luk. Sprawdź wersję w Pythonie

    • 23 paź, 2026
    • Komentarze 0
    Maszyna do obróbki zdjęć z dwiema taśmami pełnymi kolorowych klatek przesuwanych po metalowych rolkach - ilustracja do luk w bibliotece Python Pillow, przez którą aplikacje przepuszczają obrazki

    Pillow, biblioteka, przez którą aplikacje w Pythonie otwierają i zmniejszają obrazki, dostała 16 października 2026 roku wersję 13.0 z poprawkami około 40 luk. Kilka z nich pozwala w określonych warunkach uruchomić obcy kod już przy otwarciu spreparowanego pliku. Aktualizacji potrzebuje przede wszystkim serwis, który przyjmuje zdjęcia od użytkowników i przepuszcza je przez Pillow, na przykład żeby zrobić miniaturę. Lista zmian wersji 13.0.0 wymienia 42 komunikaty bezpieczeństwa, w tym 3 krytyczne. Te luki dotyczą wersji do 12.3.0 włącznie. Osobna, mniej groźna luka w eksporcie do formatu Arrow obejmuje też 13.0.0 i nie ma jeszcze poprawki. Ataków na razie nikt nie zgłosił (stan na 23 października 2026 roku, godz. 14:00).

    Czym jest Pillow i kogo dotyczą luki

    Pillow to biblioteka Pythona do otwierania, przetwarzania i zapisywania obrazów, rozwijana jako kontynuacja dawnej PIL (Python Imaging Library). Dlatego w kodzie importuje się ją jako PIL. Używaliśmy jej między innymi w teście zmniejszania zdjęć. Często trafia do projektu jako zależność innego pakietu. Pole ImageField we frameworku Django wymaga zainstalowanego Pillow. Każdy formularz z awatarem albo zdjęciem produktu w Django ciągnie więc tę bibliotekę.

    Luki dotyczą sytuacji, w której Pillow otwiera albo zapisuje plik pochodzący z niezaufanego źródła. Skrypt zmniejszający własne zdjęcia z wakacji ryzykuje niewiele. Sklep, CMS albo system obiegu dokumentów z publicznym formularzem wgrywania plików ryzykuje dużo więcej. Funkcja Image.open() rozpoznaje format po zawartości pliku, a nie po rozszerzeniu ani typie MIME. Opisuje to wprost dokumentacja bezpieczeństwa Pillow. Plik nazwany avatar.png może więc trafić do dekodera TIFF albo JPEG 2000. Filtr rozszerzeń w formularzu przed tym nie chroni.

    Jak sprawdzić wersję Pillow w projekcie

    Wersję sprawdzisz jednym z dwóch poleceń, uruchomionych w tym samym środowisku wirtualnym, w którym działa aplikacja:

    python -m pip show pillow
    python -c "import PIL; print(PIL.__version__)"
    

    Wynik 12.3.0 lub niższy oznacza wersję z lukami załatanymi w 13.0.0. Na naszym komputerze testowym z Pythonem 3.14.3 oba polecenia pokazały 12.2.0. Każde środowisko wirtualne i każdy obraz Dockera trzeba sprawdzić osobno, bo każde ma własną kopię biblioteki. Warto też przejrzeć requirements.txt albo plik blokady zależności, żeby przypięta wersja nie wróciła przy kolejnym wdrożeniu.

    Aktualizacja według instrukcji instalacji Pillow to python3 -m pip install --upgrade Pillow. Po niej uruchom testy, bo 13.0 zmienia kilka zachowań. Na przykład przestaje po cichu przycinać wartości przy zapisie obrazów w trybie I do PNG.

    Python 3.10 zatrzyma się na wersji 12.3.0

    Pillow 13.0 nie obsługuje już Pythona 3.10, który według listy zmian skończył okres wsparcia w październiku 2026 roku. Pakiet na PyPI wymaga Pythona 3.11 lub nowszego. Na Pythonie 3.10 polecenie aktualizacji zainstaluje więc najwyżej 12.3.0, czyli wersję podatną. Projekt na tym interpreterze musi najpierw przejść na nowszego Pythona. Dopiero wtedy dostanie poprawki.

    Pierwsza Misja AI · Kodożercy

    AI bez technikaliów – kurs i certyfikat

    Pierwsza Misja AI to kurs Kodożerców dla absolutnych początkujących. Fabuła w konwencji science fiction, gamifikacja, ćwiczenia na żywym modelu, certyfikat na koniec.

    Zacznij Pierwszą Misję →
    Pierwsza Misja AI - Kodożercy

    Które luki w Pillow są najgroźniejsze i kiedy działają

    Najgroźniejsze są trzy błędy w dekoderach. Zapisują one dane poza przydzieloną pamięcią już podczas odczytu obrazka. Przy dwóch z nich autorzy zgłoszeń pokazali uruchomienie polecenia. Każda z tych luk ma jednak warunek: konkretny format, dodatkowy pakiet albo określoną operację w kodzie aplikacji.

    Tabela: luka, waga i warunek ataku

    LukaWagaKiedy groziOperacja
    CVE-2026-112398, dekoder JPEG w plikach FPX (FlashPix)krytycznazainstalowany dodatkowy pakiet olefile; autor pokazał uruchomienie polecenia po Image.open() jednego pliku na Pillow 12.2.0odczyt
    CVE-2026-96639, pliki wieloklatkowe (MPO, PSD, DCX, MIC)krytyczna, CVSS 9,8aplikacja przechodzi przez kolejne klatki pliku; autor pokazał wykonanie polecenia we własnym testowym serwisie z wgrywaniem plików MPOodczyt
    GHSA-8g5g-8vmr-9782, dekoder JPEG przy zmniejszaniukrytyczna w liście zmian, wysoka w komunikacieImage.thumbnail() na bezstratnym pliku JPEG; ograniczenie formatów do JPEG nie pomagaodczyt
    GHSA-78g4-xqwv-q3g8, dołączona biblioteka OpenJPEGwysokapliki JPEG 2000; gotowe pakiety binarne (koła) z PyPI od wersji 11.1.0odczyt
    CVE-2026-112393 i CVE-2026-112902, koder TIFFwysokaaplikacja zapisuje otrzymany obrazek ponownie jako TIFFzapis
    CVE-2026-96778, komentarz w JPEGwysokaponowny zapis jako JPEG z zachowaniem profilu kolorów ICCzapis
    CVE-2026-112900, EPS i Ghostscriptśrednianapastnik wpływa na nazwę pliku przekazaną do Image.open() (zaczyna się od - albo @)odczyt
    CVE-2026-114501, eksport do formatu Arrowśrednia, bez poprawkiustawiona zmienna środowiskowa PILLOW_ALIGNMENT większa niż 1eksport

    Kiedy błędy w Pillow stają się groźne

    Luka w plikach FPX jest najprostsza do wykorzystania. Komunikat GHSA-5x8w-8jj5-q52h zawiera opis exploita, czyli gotowego sposobu na wykorzystanie błędu, a plik rozpoznawany jest po nagłówku, niezależnie od nazwy. Warunkiem jest pakiet olefile, którego Pillow nie instaluje domyślnie. Na naszym komputerze bez olefile Pillow w ogóle nie rejestruje formatu FPX. Luki przy zapisie dotyczą z kolei usług, które przerabiają obrazki. Chodzi o konwersję do TIFF albo zapis jako JPEG z profilem kolorów.

    Większość komunikatów o średniej wadze opisuje sposoby na zawieszenie procesu albo zapchanie pamięci. Są wśród nich bomby dekompresyjne, czyli małe pliki rozwijające się do gigabajtów, oraz nieskończone pętle. Jeden taki plik potrafi zatrzymać usługę, choć dostępu do serwera napastnikowi nie daje.

    Wykres luk w Python Pillow 13.0: 42 komunikaty bezpieczeństwa w liście zmian, 3 krytyczne, 14 wysokich, 22 średnie i 3 niskie; najwięcej dotyczy TIFF (9), dalej inne formaty (7), PDF, GIF i APNG oraz operacji na obrazie (po 5)
    Najwięcej poprawek w Pillow 13.0 dotyczy formatu TIFF. Dane: lista zmian Pillow 13.0.0, sekcja Security, odczyt 23.10.2026; podział na obszary nasz, według tytułów komunikatów.

    Skąd tyle luk w jednym wydaniu

    Część zgłoszeń przyszła z narzędzi AI, co komunikaty opisują wprost tylko w kilku przypadkach. Dwa z nich, o dekoderze JPEG i o kafelkach TIFF, podają, że lukę znalazł Anthropic przy użyciu modelu Claude. Ręcznie zweryfikowała ją firma Ada Logics. Autor krytycznej luki CVE-2026-96639 pisze, że w odkryciu i weryfikacji pomagała mu analiza z AI. Szesnaście komunikatów ma wewnętrzne oznaczenia zaczynające się od ANT-2026. Ani Pillow, ani Anthropic nie wyjaśniają publicznie ich pochodzenia, więc nie przypisujemy ich nikomu. Polityka bezpieczeństwa Pillow ma dziś osobny punkt dla osób, które zgłaszają luki hurtowo albo szukają ich modelem językowym. Przed wysłaniem muszą same sprawdzić, czy opisane funkcje w ogóle istnieją.

    Co zrobić poza aktualizacją Pillow

    Aktualizacja do 13.0.0 zamyka wszystkie opisane wyżej luki poza CVE-2026-114501. Dokumentacja bezpieczeństwa Pillow zaleca też zabezpieczenia, które ograniczą skutki kolejnych błędów. W kolejności, którą podaje projekt:

    1. Przetwarzaj obrazy w odizolowanym procesie, ograniczonym przez seccomp, AppArmor albo kontener z ograniczeniami.
    2. Odrzucaj pliki EPS na wejściu aplikacji albo uruchamiaj Ghostscript w całkowicie odizolowanej piaskownicy.
    3. Nigdy nie przekazuj tekstu od użytkownika do ImageMath.unsafe_eval().
    4. Aktualizuj Pillow i jego biblioteki C, śledź komunikaty bezpieczeństwa projektu.
    5. Nie ustawiaj Image.MAX_IMAGE_PIXELS = None i traktuj ostrzeżenie DecompressionBombWarning jak błąd.
    6. Ogranicz akceptowane formaty, na przykład przez Image.open(..., formats=...).
    7. Usuwaj metadane EXIF, XMP i ICC z obrazków od użytkowników, zanim opublikujesz je w serwisie.

    Ograniczenie formatów sprawdziliśmy na Pillow 12.2.0. Plik TIFF otwierany przez Image.open(plik, formats=["JPEG", "PNG", "WEBP"]) kończy się błędem UnidentifiedImageError i nie trafia do dekodera TIFF. Lista dozwolonych formatów wyłącza więc dużą część opisanych luk, ale nie chroni przed błędami w dekoderze JPEG. Jeśli aplikacja nie potrzebuje formatów FPX i MIC, sprawdź, czy ma pakiet olefile. Polecenie python -m pip show olefile pokaże, czy nie trafił do środowiska jako zależność innej biblioteki. Pillow zaleca też instalację z przypiętymi sumami kontrolnymi (pip install --require-hashes). Chroni ona przed podmienioną paczką na PyPI, jak przy złośliwej wersji LiteLLM.

    Luka CVE-2026-114501 nie ma jeszcze poprawki. Dotyczy wyłącznie aplikacji, które ustawiają zmienną PILLOW_ALIGNMENT powyżej 1 i eksportują obrazy do formatu Arrow. Wtedy w wyeksportowanych danych mogą się znaleźć resztki pamięci, na przykład pikseli z obrazka innego użytkownika. Jeśli nie ustawiasz tej zmiennej, ta luka cię nie dotyczy.

    FAQ

    Czy aktualizacja systemu Linux wystarczy, żeby załatać Pillow?

    Nie, jeśli pip zainstalował gotowy pakiet binarny Pillow z PyPI, czyli tak zwane koło (wheel). Takie koło zawiera własne kopie bibliotek graficznych, między innymi OpenJPEG. Komunikat GHSA-78g4-xqwv-q3g8 zaznacza, że zaktualizowany system operacyjny ich nie wymieni. Trzeba zaktualizować sam Pillow. Gdy biblioteka pochodzi z pakietu dystrybucji, na przykład python3-pil w Debianie, poprawki dostarcza dystrybucja. Wtedy sprawdź jej komunikaty bezpieczeństwa.

    Czy luki w Pillow są już wykorzystywane w atakach?

    Na 23 października 2026 roku nikt nie zgłosił ataków. Katalog wykorzystywanych podatności amerykańskiej agencji CISA (stan z 21 października) nie zawiera żadnej pozycji dotyczącej Pillow. Komunikaty są jednak publiczne od 17 października. Przy luce w plikach FPX opisano działający sposób na uruchomienie polecenia, więc z aktualizacją nie warto czekać.

    Devstock { aplikacje webowe }

    Masz pomysł na aplikację? Najpierw go zobacz

    Zanim zainwestujesz w pełny system, przygotujemy klikalny prototyp, który pokażesz zespołowi albo klientom. Potem budujemy aplikację webową, która rośnie razem z firmą.

    Zobacz, jak pracujemy → Software house, który prowadzi ten blog

    Podsumowanie

    Pillow 13.0.0 z 16 października 2026 roku poprawia około 40 luk w bibliotece obrazków, z której korzysta wiele aplikacji w Pythonie, w tym trzy krytyczne. Najgroźniejsze błędy siedzą w dekoderach JPEG, FPX i plików wieloklatkowych i działają już przy odczycie pliku. Każdy ma jednak warunek, na przykład pakiet olefile albo konkretną operację w kodzie. Luki dotyczą wersji do 12.3.0 włącznie. Sprawdź wersję poleceniem python -m pip show pillow w każdym środowisku, zaktualizuj bibliotekę i ogranicz akceptowane formaty w Image.open(). Projekty na Pythonie 3.10 muszą najpierw przejść na nowszy interpreter. Osobna luka w eksporcie do formatu Arrow obejmuje też 13.0.0, ale dotyczy tylko rzadkiej konfiguracji i czeka na poprawkę. Stan na 23 października 2026 roku, godz. 14:00.

    Newsletter · DevstockAcademy & Kodożercy

    Bądź na bieżąco ze światem IT, AI i automatyzacji

    Co wtorek: newsy z branży, praktyczne tipy i narzędzia które warto znać. Zero spamu.


    Udostępnij na:
    Mateusz Wojdalski

    Specjalista SEO i content marketingu w Devstock. Zajmuję się strategią treści, automatyzacją procesów marketingowych i wdrożeniami AI w codziennej pracy. Badam nowe narzędzia, adaptuję je do realnych zadań i piszę o tym, co faktycznie działa.

    CGM CLININET: CERT Polska ostrzega przed 11 lukami
    Przekierowanie połączeń: kody, ustawienia i koszty
    Pudelko kursu Agenci AI od Kodozercow z robotem i schematem przeplywu agentow
    Banner reklamowy Frontend Master 2026

    Najnowsze wpisy

    Thumb
    Ewidencja czasu pracy przy pracy zdalnej i
    23 paź, 2026
    Thumb
    Nowoczesne biuro – jaki sprzęt ułatwia codzienną
    18 paź, 2026
    Thumb
    Claude i weryfikacja formalna: dowody dla 123
    24 paź, 2026
    Thumb
    Błąd 404, 403, 500, 503: co znaczą
    24 paź, 2026
    Thumb
    Jak założyć profil zaufany: 5 sposobów i
    24 paź, 2026
    Thumb
    Popcorn Time: jak odinstalować program z groźnym
    24 paź, 2026
    Thumb
    Drugi próg podatkowy: od jakiej kwoty w
    24 paź, 2026

    Kategorie

    • Aktualności i Wydarzenia (145)
    • Bezpieczeństwo i Jakość (308)
    • Branża IT i Nowe Technologie (299)
    • Design i User Experience (4)
    • Narzędzia i Automatyzacja (248)
    • Programowanie i Technologie Webowe (110)
    • Rozwój kariery i Edukacja (54)

    Tagi

    5G AI Architektura Cyberbezpieczeństwo Feedback Frontend Git IoT JavaScript Motywacja Nauka efektywna Optymalizacja i wydajność Programowanie React.JS Rozwój osobisty WebDevelopment
    Logo FitBody Center Warszawa

    Odkryj zabiegi Endermologii LPG Infinity w FitBody Center Warszawa

    Maszyna zabiegowa - endermologia lpg infinity
    banner-reklamowy-frontend-master
    Pudelko kursu Agenci AI od Kodozercow z robotem i schematem przeplywu agentow
    Group-5638-1

    Devstock – Akademia programowania z gwarancją pracy

    🏠 ul. Bronowska 5a,
    03-995 Warszawa
    📞 +48 517 313 589
    ✉️ contact@devstockacademy.pl

    Linki

    • Poznaj firmę Devstock
    • Wejdź do społeczności Devstock
    • Polityka prywatności
    • Regulamin

    FitBody Center

    Strona

    • Strona główna
    • Kontakt

    Newsletter

    Bądź na bieżąco, otrzymuj darmową wiedzę i poznaj nas lepiej!


    Icon-facebook Icon-linkedin2 Icon-instagram Icon-youtube Tiktok
    Copyright 2026 Devstock. Wszelkie prawa zastrzeżone
    Devstock AcademyDevstock Academy
    Sign inSign up

    Sign in

    Don’t have an account? Sign up
    Lost your password?

    Sign up

    Already have an account? Sign in