CVE-2026-107885
NiskieCVSS 3.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
Podatność wyczerpania zasobów w OpenPrinting CUPS do wersji 2.4.20 w obsłudze limitu czasu przesyłania w cupsdCheckJobs(). Scheduler pomija przetwarzanie limitu czasu dla wszystkich oczekujących zadań, gdy jakiekolwiek połączenie klienta ma w toku operację Send-Document, bez dopasowania tego połączenia do badanego zadania. Klient, który może dotrzeć do usługi IPP, może utrzymywać niekompletne żądanie HTTP z nagłówkami Send-Document przed autoryzacją, uniemożliwiając wygaśnięcie niezwiązanych niekompletnych zadań.
Ocena ryzyka
Tam, gdzie dozwolone jest tworzenie zadań, niekompletne zadania mogą się gromadzić, aż do wyczerpania MaxJobs, co blokuje dalsze legalne żądania drukowania. Może to prowadzić do długotrwałej odmowy usługi.
Rekomendacja
Zaktualizuj CUPS do wersji 2.4.20 lub nowszej. Ogranicz dostęp do usługi IPP i rozważ limity liczby zadań oraz limity czasu połączeń.
Inne podatności w OpenPrinting CUPS
Zobacz wszystkie- CVE-2026-39316Średnie
W systemie OpenPrinting CUPS, w wersjach 2.4.16 i wcześniejszych, występuje podatność typu use-after-free w harmonogramie CUPS (cupsd) podczas automatycznego usuwania tymczasowych drukarek.
- CVE-2026-61702Średnie
OpenPrinting CUPS przed wersją 2.4.20 ma błąd w funkcji copy_banner(), która używa wartości attributes-natural-language kontrolowanej przez atakującego jako komponentu ścieżki katalogu. Pozwala to na wyjście poza katalog bannerów i skopiowanie dowolnego pliku do obiektu spool, który może zostać dostarczony do atakującego.
- CVE-2026-55480Średnie
W systemie drukowania OpenPrinting CUPS funkcja copy_model() w pliku scheduler/ipp.c tworzy przewidywalną ścieżkę TempDir/<connection-number>.ppd w katalogu zapisywalnym dla grupy lp i otwiera ją jako root bez flag O_EXCL ani O_NOFOLLOW. Wykorzystanie wymaga procesu z grupy lp mogącego pisać do tego katalogu, przewidzenia nazwy pliku i podłożenia dowiązania symbolicznego przed otwarciem przez roota, przy jednoczesnym uprzywilejowanym działaniu add-printer lub modify-printer z modelem PPD. Podatność naprawiono w wersji 2.4.20.
- CVE-2026-55467Niskie
W systemie drukowania OpenPrinting CUPS w wersjach przed 2.4.20 funkcja budująca opcje zadania (cupsdCreateJob w scheduler/job.c) mapuje wartości destination-uri i pre-dial-string z kolejki faksu na opcje phone i faxPrefix. Wartości te omijają sanitizer znaków kontrolnych i są kopiowane bezpośrednio do argumentu opcji filtra, co pozwala użytkownikowi uprawnionemu do zlecania zadań wstrzyknąć znaki kontrolne do strumienia opcji.
- CVE-2026-55453Niskie
W systemie OpenPrinting CUPS w wersjach przed 2.4.20 funkcja quote_string() w backend/ipp.c zachowuje znaki powrotu karetki i nowej linii w komunikacie markera kontrolowanym przez zdalną drukarkę, zanim report_attr() zapisze wartość do strumienia statusu schedulera. Scheduler może zinterpretować wstrzykniętą nową linię jako osobną linię kontrolną PPD i zapisać wybrane przez atakującego słowo kluczowe PPD.
- CVE-2026-107890Niskie
Podatność w OpenPrinting CUPS przed wersją 2.4.20 powoduje dereferencję wskaźnika NULL spowodowaną powtarzającymi się tagami grup IPP w żądaniach tworzenia zadań. Parsowanie IPP tworzy nienazwane atrybuty separatora z IPP_TAG_ZERO, ale add_job() konwertuje te separatory na IPP_TAG_JOB. Podczas uruchamiania zadania get_options()/ipp_length() wywołuje strlen() na NULL-owej nazwie atrybutu, kończąc proces cupsd i zakłócając wszystkie kolejki.
- CVE-2026-107888Średnie
Podatność w OpenPrinting CUPS przed wersją 2.4.20 powoduje dereferencję wskaźnika NULL w funkcji cupsdCheckJobs(), gdy zadanie oznaczone jako job-held-on-create odnosi się do tymczasowej drukarki, która została automatycznie usunięta. Czyszczenie tymczasowych drukarek może usunąć miejsce docelowe bez anulowania wstrzymanych zadań, a scheduler dereferencjonuje wynik NULL funkcji cupsdFindDest() podczas sprawdzania holding_new_jobs. Powoduje to zakończenie procesu cupsd i przerwanie wszystkich kolejek.
- CVE-2026-107886Niskie
Podwójne zwolnienie w zarządzaniu klasami drukarek w OpenPrinting CUPS przed wersją 2.4.20. Gdy CUPS-Add-Modify-Class zastępuje istniejącą listę członków klasy, add_class() zwalnia pclass->printers bez wyczyszczenia wskaźnika. Jeśli późniejsza walidacja nie powiedzie się, klasa zachowuje wiszący wskaźnik; CUPS-Delete-Class następnie zwalnia tę samą alokację w cupsdDeletePrinter(). Klient upoważniony do modyfikowania i usuwania klas może spowodować odmowę usługi na poziomie schedulera.
- CVE-2025-61915Średnie
W OpenPrinting CUPS przed wersją 2.4.15 użytkownik z grupy lpadmin może przez web UI zmienić konfigurację i wstawić złośliwą linię. Proces cupsd działający jako root parsuje nową konfigurację, co prowadzi do zapisu poza zakresem pamięci.
- CVE-2025-58436Średnie
System drukowania OpenPrinting CUPS w wersjach przed 2.4.15 jest podatny na atak typu slowloris. Klient wysyłający bardzo wolne komunikaty (np. jeden bajt na sekundę) blokuje cupsd, uniemożliwiając obsługę innych klientów.
Oryginalny opis (angielski, źródło NVD)
OpenPrinting CUPS through 2.4.20 contains a resource-exhaustion vulnerability in the submission-timeout handling of cupsdCheckJobs(). The scheduler suppresses timeout processing for all pending jobs whenever any client connection has an in-flight Send-Document operation, without matching that connection to the job being examined. A client allowed to reach the IPP service can hold an incomplete HTTP request containing parsed Send-Document headers before operation authorization, preventing unrelated incomplete jobs from expiring. Where Create-Job submission is allowed, incomplete jobs can accumulate until MaxJobs is exhausted and further legitimate print submissions are rejected. The suppression ends when the held connection closes.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

