CVE-2026-61702
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 38 - wyżej niż 38% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Osoba atakująca może odczytać dowolne pliki dostępne dla procesu scheduler i dostarczyć je do obserwowalnego punktu końcowego, co może prowadzić do wycieku poufnych danych.
Rekomendacja
Zaktualizuj CUPS do wersji 2.4.20 lub nowszej, która naprawia podatność.
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-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-2026-107885Niskie
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ń.
- 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 is an open source printing system for Linux and other Unix-like operating systems. Prior to 2.4.20, copy_banner() in scheduler/ipp.c uses the attacker-controlled IPP attributes-natural-language value as a directory component beneath DataDir/banners when processing a job-sheets banner. The job-sheets value must first match a registered banner basename, and the traversed path must contain a matching reachable basename; selecting an arbitrary target as demonstrated additionally requires pre-positioned path state such as a symlink with that basename. Subject to the scheduler's filesystem and sandbox access, path separators in the language value can escape the intended banner directory, make the root scheduler open the reachable file, and copy its bytes into a job-sheet spool object that a configured backend can deliver to an attacker-observable endpoint. This issue is fixed in version 2.4.20.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

