Podatności uutils coreutils
42 znanych podatności CVE w uutils coreutils, przetłumaczonych i ocenionych.
- CVE-2026-93658Wysokie
uutils coreutils przed wersją 0.10.0 ustawia tryb setuid lub setgid dla miejsc docelowych instalacji przed sfinalizowaniem zmian właściciela, co pozwala uprzywilejowanym użytkownikom pozostawić wykonywalne pliki setuid należące do uprzywilejowanego wywołującego, gdy zmiany właściciela zawiodą. Atakujący mogą wykonać pozostawione pliki setuid z podwyższonymi uprawnieniami, gdy operacje zmiany właściciela zawodzą na systemach z ograniczonymi możliwościami.
- CVE-2026-35381Niskie
Błąd logiczny w narzędziu cut z uutils coreutils powoduje ignorowanie flagi -s (only-delimited) przy jednoczesnym użyciu opcji -z (null-terminated) i -d '' (pusty delimiter). Implementacja kieruje tę kombinację przez specjalną ścieżkę dla separatora nowej linii, która nie sprawdza stanu tłumienia rekordów, w wyniku czego cut wypisuje cały rekord plus bajt NUL zamiast go pominąć.
- CVE-2026-35380Średnie
Błąd logiczny w narzędziu cut z uutils coreutils powoduje, że program błędnie interpretuje dwubajtowy ciąg '' (dwa apostrofy) jako pusty separator. Implementacja omyłkowo mapuje ten ciąg na znak NUL dla opcji -d i --output-delimiter. Może to prowadzić do cichego uszkodzenia danych lub błędów logicznych w skryptach i potokach przetwarzania danych.
- CVE-2026-35379Niskie
Błąd logiczny w narzędziu tr z uutils coreutils powoduje nieprawidłowe zdefiniowanie klas znaków [:graph:] i [:print:]. Implementacja błędnie włącza znak spacji (0x20) do klasy [:graph:] i wyklucza go z [:print:], odwracając standardowe zachowanie POSIX i GNU coreutils. Może to prowadzić do niezamierzonej modyfikacji lub utraty danych w skryptach automatyzacji.
- CVE-2026-35378Niskie
Błąd logiczny w narzędziu expr z uutils coreutils powoduje ewaluację podwyrażeń w nawiasach podczas fazy parsowania zamiast wykonania. Uniemożliwia to poprawne zwarcie logiczne dla operacji OR (|) i AND (&), przez co błędy arytmetyczne w gałęziach, które powinny być pominięte, są zgłaszane jako błędy krytyczne. Różni się to od zachowania GNU expr i może powodować przedwczesne zakończenie skryptów powłoki.
- CVE-2026-35377Niskie
Błąd logiczny w narzędziu env z uutils coreutils powoduje nieprawidłowe parsowanie argumentów wiersza poleceń przy użyciu opcji -S (split-string). W przeciwieństwie do GNU env, implementacja uutils błędnie waliduje sekwencje, powodując błąd "invalid sequence" i natychmiastowe zakończenie procesu z kodem 125 przy napotkaniu prawidłowych, ale nierozpoznanych sekwencji, takich jak \a lub \x.
- CVE-2026-35376Średnie
W narzędziu chcon z uutils coreutils występuje podatność TOCTOU podczas operacji rekurencyjnych. Implementacja rozwiązuje cele rekurencyjne przez świeże wyszukiwanie ścieżki (fts_accpath) zamiast powiązania przejścia i nadawania etykiety z konkretnym stanem katalogu napotkanym podczas przejścia; ponieważ operacje nie są zakotwiczone w deskryptorach plików, lokalny atakujący z prawem zapisu do drzewa katalogów może wykorzystać wyścigi rename lub symlinków, aby przekierować uprzywilejowaną operację ponownego etykietowania na niepożądane pliki lub katalogi. Podatność łamie oczekiwania hardeningu dla przepływów administracji SELinux i może prowadzić do nieautoryzowanej modyfikacji etykiet bezpieczeństwa na wrażliwych obiektach systemowych.
- CVE-2026-35375Niskie
Błąd logiczny w narzędziu split z uutils coreutils powoduje uszkodzenie nazw plików wyjściowych przy nie-UTF-8 prefiksach lub sufiksach. Implementacja używa to_string_lossy(), zamieniając nieprawidłowe sekwencje bajtów na znak zastępczy UTF-8 (U+FFFD), co różni się od GNU split zachowującego surowe bajty. Prowadzi to do tworzenia plików o nieprawidłowych nazwach.
- CVE-2026-35374Średnie
Luka typu Time-of-Check to Time-of-Use (TOCTOU) w narzędziu split z uutils coreutils. Program sprawdza tożsamość plików wejściowego i wyjściowego na podstawie ścieżek przed operacją, a następnie otwiera plik wyjściowy z obcięciem po walidacji, co pozwala lokalnemu atakującemu z prawem zapisu do katalogu na podmianę ścieżki (np. na dowiązanie symboliczne) i spowodowanie obcięcia oraz zapisu do nieoczekiwanego pliku, w tym samego pliku wejściowego lub innych wrażliwych plików, prowadząc do trwałej utraty danych.
- CVE-2026-35373Niskie
Błąd logiczny w narzędziu ln z uutils coreutils powoduje odrzucanie ścieżek źródłowych zawierających bajty nazw plików niebędące UTF-8 w formach z katalogiem docelowym (np. ln SOURCE... DIRECTORY). W przeciwieństwie do GNU ln, implementacja uutils wymusza kodowanie UTF-8, co skutkuje błędem stat i niezerowym kodem wyjścia.
- CVE-2026-35372Średnie
Błąd logiczny w narzędziu ln z uutils coreutils powoduje, że narzędzie dereferencjonuje cel dowiązania symbolicznego nawet przy jawnie podanej fladze --no-dereference (lub -n). Implementacja respektowała intencję „no-dereference” tylko wtedy, gdy włączony był również tryb --force. Wada powoduje, że ln podąża za dowiązaniem wskazującym na katalog i tworzy nowe dowiązania wewnątrz tego katalogu docelowego, zamiast traktować samo dowiązanie jako cel. W środowiskach, gdzie uprzywilejowany użytkownik lub skrypt systemowy używa ln -n do aktualizacji dowiązania, lokalny atakujący może manipulować istniejącymi dowiązaniami, przekierowując tworzenie plików do wrażliwych katalogów.
- CVE-2026-35371Niskie
Narzędzie id w uutils coreutils błędnie wyświetla dane w trybie pretty print, gdy rzeczywisty UID różni się od efektywnego UID. Implementacja używa efektywnego GID zamiast efektywnego UID przy wyszukiwaniu nazwy użytkownika, co daje mylące dane diagnostyczne.
- CVE-2026-35370Średnie
Narzędzie id z uutils coreutils błędnie oblicza sekcję groups= w swoim wyjściu, używając rzeczywistego GID użytkownika zamiast efektywnego GID do wyliczenia listy grup. Może to prowadzić do rozbieżności w stosunku do GNU coreutils, a ponieważ wiele skryptów i procesów automatycznych opiera decyzje kontroli dostępu lub uprawnień na wyjściu id, rozbieżność ta może skutkować nieautoryzowanym dostępem lub błędami konfiguracji bezpieczeństwa.
- CVE-2026-35369Średnie
Błąd parsowania argumentów w narzędziu kill z uutils coreutils błędnie interpretuje kill -1 jako żądanie wysłania domyślnego sygnału (SIGTERM) do PID -1. Wysłanie sygnału do PID -1 powoduje, że jądro kończy wszystkie procesy widoczne dla wywołującego, co może doprowadzić do awarii systemu lub masowego zakończenia procesów.
- CVE-2026-35367Niskie
Narzędzie nohup z uutils coreutils tworzy domyślny plik wyjściowy nohup.out bez określenia restrykcyjnych uprawnień, dziedzicząc uprawnienia z umask (zwykle 0644, czyli czytelne dla wszystkich). W środowiskach wieloużytkownikowych pozwala to każdemu użytkownikowi odczytać przechwycone wyjście stdout/stderr polecenia.
- CVE-2026-35366Średnie
Narzędzie printenv w uutils coreutils nie wyświetla zmiennych środowiskowych zawierających nieprawidłowe sekwencje bajtów UTF-8. Implementacja po cichu pomija takie wpisy zamiast wypisywać surowe bajty, co pozwala złośliwym zmiennym środowiskowym (np. spreparowanym wartościom LD_PRELOAD) uniknąć inspekcji.
- CVE-2026-35365Średnie
Narzędzie mv w uutils coreutils nieprawidłowo obsługuje drzewa katalogów zawierające dowiązania symboliczne podczas przenoszenia między systemami plików. Zamiast zachować dowiązania, implementacja je rozwija, kopiując cele dowiązań jako rzeczywiste pliki lub katalogi w miejscu docelowym. Może to prowadzić do wyczerpania zasobów, nieoczekiwanego powielenia danych lub nieskończonej rekurencji przy pętlach dowiązań.
- CVE-2026-35364Średnie
W narzędziu mv z uutils coreutils występuje warunek wyścigu TOCTOU podczas operacji między urządzeniami. Narzędzie usuwa ścieżkę docelową przed jej odtworzeniem, co lokalny atakujący z prawem zapisu może wykorzystać do podstawienia dowiązania symbolicznego i nadpisania dowolnego pliku.
- CVE-2026-35363Średnie
Narzędzie rm w uutils coreutils pozwala obejść zabezpieczenia chroniące bieżący katalog. Mimo że poprawnie odmawia usunięcia . lub .., nie rozpoznaje równoważnych ścieżek z ukośnikami na końcu (np. ./ lub .///), co przy wykonaniu rm -rf ./ powoduje ciche rekurencyjne usunięcie całej zawartości katalogu.
- CVE-2026-35362Niskie
Moduł safe_traversal w uutils coreutils, zapewniający ochronę przed wyścigami symlinków typu TOCTOU za pomocą wywołań systemowych względnych do deskryptora pliku, jest błędnie ograniczony tylko do celów Linux. W innych systemach uniksopodobnych, takich jak macOS i FreeBSD, narzędzie nie korzysta z tych zabezpieczeń, pozostawiając operacje przechodzenia po katalogach podatne na wyścigi symlinków.
- CVE-2026-35361Niskie
Narzędzie mknod z uutils coreutils nie obsługuje etykiet bezpieczeństwa atomowo, tworząc węzły urządzeń przed ustawieniem kontekstu SELinux. Jeśli oznaczanie się nie powiedzie, narzędzie próbuje usunąć węzeł za pomocą std::fs::remove_dir, co nie usuwa węzłów urządzeń ani FIFO, pozostawiając błędnie oznaczone węzły z domyślnymi kontekstami.
- CVE-2026-35360Średnie
Narzędzie touch w uutils coreutils jest podatne na warunek wyścigu TOCTOU podczas tworzenia plików. Gdy narzędzie wykryje brakującą ścieżkę, później próbuje utworzyć plik za pomocą File::create(), które wewnętrznie używa O_TRUNC. Atakujący może wykorzystać to okno do utworzenia pliku lub podmiany dowiązania symbolicznego w docelowej ścieżce, powodując obcięcie istniejącego pliku i trwałą utratę danych.
- CVE-2026-35359Średnie
W narzędziu cp z uutils coreutils występuje podatność Time-of-Check to Time-of-Use (TOCTOU), która pozwala atakującemu obejść intencję braku dereferencji. Narzędzie sprawdza, czy ścieżka źródłowa jest dowiązaniem symbolicznym, używając metadanych opartych na ścieżce, ale następnie otwiera ją bez flagi O_NOFOLLOW. Atakujący z równoczesnym dostępem do zapisu może podmienić zwykły plik na dowiązanie symboliczne w tym oknie czasowym, powodując skopiowanie zawartości dowolnych poufnych plików przez uprzywilejowany proces cp do miejsca kontrolowanego przez atakującego.
- CVE-2026-35358Średnie
Narzędzie cp w uutils coreutils przy kopiowaniu rekurencyjnym (-R) błędnie traktuje węzły urządzeń znakowych i blokowych jako źródła strumieniowe zamiast je zachowywać. Ponieważ implementacja wczytuje bajty do zwykłych plików w miejscu docelowym zamiast używać mknod, semantyka urządzeń zostaje zniszczona (np. /dev/null staje się zwykłym plikiem), co może prowadzić do odmowy usługi przez wyczerpanie dysku lub zawieszenie procesu.
- CVE-2026-35357Średnie
Narzędzie cp z uutils coreutils jest podatne na wyścig prowadzący do ujawnienia informacji. Pliki docelowe są początkowo tworzone z uprawnieniami wynikającymi z umask, a dopiero później zawężane do docelowego trybu, co pozwala lokalnemu atakującemu przechwycić deskryptor pliku.
- CVE-2026-35356Średnie
W narzędziu install z uutils coreutils podczas używania flagi -D występuje podatność TOCTOU. Polecenie tworzy katalogi nadrzędne, a następnie wykonuje drugie rozwiązywanie ścieżki w celu utworzenia pliku docelowego — żadna z tych operacji nie jest zakotwiczona w deskryptorze katalogu. Atakujący z równoczesnym prawem zapisu może zastąpić komponent ścieżki dowiązaniem symbolicznym między tymi operacjami, przekierowując uprzywilejowany zapis do dowolnej lokalizacji w systemie plików.
- CVE-2026-35355Średnie
Narzędzie instalacyjne w uutils coreutils jest podatne na warunek wyścigu Time-of-Check to Time-of-Use (TOCTOU) podczas instalacji plików. Implementacja usuwa istniejący plik docelowy i tworzy go ponownie bez flagi O_EXCL, co pozwala lokalnemu atakującemu podmienić ścieżkę na dowiązanie symboliczne i przekierować uprzywilejowane zapisy do dowolnych plików systemowych.
- CVE-2026-35354Średnie
W narzędziu mv z uutils coreutils podczas przenoszenia między urządzeniami występuje podatność TOCTOU. Logika zachowywania rozszerzonych atrybutów (xattr) używa wielu wywołań systemowych opartych na ścieżkach, które wykonują świeże wyszukiwanie ścieżki do inode dla każdej operacji. Lokalny atakujący z prawem zapisu do katalogu może wykorzystać ten wyścig do podmiany plików między wywołaniami, powodując, że plik docelowy otrzyma niespójną mieszankę atrybutów bezpieczeństwa xattr, takich jak etykiety SELinux lub uprawnienia plików.
- CVE-2026-35353Niskie
Narzędzie mkdir z uutils coreutils nieprawidłowo stosuje uprawnienia przy użyciu flagi -m, tworząc katalog z uprawnieniami wynikającymi z umask (zwykle 0755), a następnie zmieniając je na żądany tryb osobnym wywołaniem chmod. W środowiskach wieloużytkownikowych wprowadza to krótkie okno, w którym katalog przeznaczony jako prywatny jest dostępny dla innych użytkowników.
- CVE-2026-35352Wysokie
W narzędziu mkfifo w uutils coreutils występuje warunkowa podatność TOCTOU. Atakujący lokalny z dostępem do katalogu nadrzędnego może zamienić nowo utworzony FIFO na dowiązanie symboliczne, co może prowadzić do eskalacji uprawnień.
- CVE-2026-35351Średnie
Narzędzie mv z uutils coreutils nie zachowuje własności plików podczas przenoszenia między różnymi systemami plików. Narzędzie przechodzi na procedurę kopiowania i usuwania, która tworzy plik docelowy z UID/GID wywołującego zamiast metadanych źródła. Wada ta psuje kopie zapasowe i migracje, powodując, że pliki przenoszone przez uprzywilejowanego użytkownika (np. root) stają się nieoczekiwanie własnością roota, co może prowadzić do ujawnienia informacji lub ograniczenia dostępu dla zamierzonych właścicieli.
- CVE-2026-35350Średnie
Narzędzie cp z uutils coreutils nieprawidłowo obsługuje bity setuid i setgid, gdy zachowanie własności się nie powiedzie. Podczas kopiowania z flagą -p (preserve) narzędzie stosuje bity trybu źródła nawet jeśli operacja chown się nie powiedzie. Może to spowodować, że kopia należąca do użytkownika zachowa oryginalne uprzywilejowane bity, tworząc nieoczekiwane uprzywilejowane pliki wykonywalne naruszające lokalne polityki bezpieczeństwa. Różni się to od GNU cp, który czyści te bity, gdy nie można zachować własności.
- CVE-2026-35349Średnie
Narzędzie rm z uutils coreutils zawiera lukę umożliwiającą obejście zabezpieczenia --preserve-root. Implementacja sprawdza ścieżkę tekstową zamiast porównywać numery urządzenia i inode, co pozwala obejść zabezpieczenie za pomocą dowiązania symbolicznego wskazującego katalog główny.
- CVE-2026-35348Średnie
Narzędzie sort z uutils coreutils jest podatne na panikę procesu podczas używania opcji --files0-from z danymi wejściowymi zawierającymi nazwy plików niebędące w UTF-8. Implementacja wymusza kodowanie UTF-8 i używa expect(), co powoduje natychmiastową awarię przy napotkaniu prawidłowych, ale niebędących w UTF-8 ścieżek. Różni się to od GNU sort, który traktuje nazwy plików jako surowe bajty. Lokalny atakujący może to wykorzystać do wywołania awarii narzędzia i zakłócenia zautomatyzowanych potoków.
- CVE-2026-35347Średnie
Narzędzie comm z uutils coreutils odczytuje dane z wejść niebędących zwykłymi plikami przed wykonaniem porównania. Funkcja are_files_identical otwiera i czyta oba wejścia bez uprzedniego sprawdzenia, czy są to zwykłe pliki, co przy FIFO lub potoku powoduje ciche utracenie danych, a przy nieskończonych strumieniach jak /dev/zero może zawiesić program.
- CVE-2026-35346Niskie
Narzędzie comm w uutils coreutils cicho uszkadza dane, wykonując stratną konwersję UTF-8 na wszystkich liniach wyjściowych. Implementacja używa String::from_utf8_lossy(), która zastępuje nieprawidłowe sekwencje bajtów UTF-8 znakiem zastępczym Unicode (U+FFFD). Zachowanie to różni się od GNU comm, który przetwarza surowe bajty i zachowuje oryginalne dane wejściowe.
- CVE-2026-35345Średnie
Podatność w narzędziu tail z uutils coreutils pozwala na eksfiltrację zawartości wrażliwych plików podczas korzystania z opcji --follow=name. W przeciwieństwie do GNU tail, implementacja uutils kontynuuje monitorowanie ścieżki po jej zastąpieniu dowiązaniem symbolicznym, wyświetlając zawartość celu dowiązania. W środowiskach, gdzie uprzywilejowany użytkownik (np. root) monitoruje katalog logów, lokalny atakujący z prawem zapisu do tego katalogu może zastąpić plik logu dowiązaniem symbolicznym do wrażliwego pliku systemowego (np. /etc/shadow), powodując ujawnienie jego zawartości przez tail.
- CVE-2026-35344Niskie
Narzędzie dd w uutils coreutils tłumi błędy podczas obcinania plików, bezwarunkowo wywołując Result::ok() przy próbach obcięcia. Choć ma to naśladować zachowanie GNU dla plików specjalnych jak /dev/null, implementacja uutils ukrywa także błędy na zwykłych plikach i katalogach spowodowane zapełnieniem dysku lub systemem plików tylko do odczytu. Może to prowadzić do cichego uszkodzenia danych w skryptach kopii zapasowych lub migracyjnych.
- CVE-2026-35343Niskie
Narzędzie cut z uutils coreutils nieprawidłowo obsługuje opcję -s (only-delimited), gdy jako separator podano znak nowej linii. Implementacja nie sprawdza flagi only_delimited w funkcji cut_fields_newline_char_delim, przez co wypisuje linie bez separatora, które powinny zostać pominięte. Może to prowadzić do przekazania nieoczekiwanych danych do dalszych skryptów.
- CVE-2026-35342Niskie
Narzędzie mktemp w uutils coreutils nieprawidłowo obsługuje pustą zmienną środowiskową TMPDIR. W przeciwieństwie do GNU mktemp, które w takim przypadku używa /tmp, implementacja uutils traktuje pusty ciąg jako prawidłową ścieżkę, tworząc pliki tymczasowe w bieżącym katalogu roboczym zamiast w bezpiecznym katalogu tymczasowym. Jeśli bieżący katalog jest bardziej dostępny dla innych użytkowników niż /tmp, może to prowadzić do ujawnienia informacji lub nieautoryzowanego dostępu do danych tymczasowych.
- CVE-2026-35340Średnie
Błąd w ChownExecutor w uutils coreutils chown i chgrp powoduje zwracanie nieprawidłowego kodu wyjścia podczas operacji rekurencyjnych. Kod wyjścia zależy tylko od ostatniego przetworzonego pliku, więc błędy uprawnień przy wcześniejszych plikach są maskowane przez sukces ostatniego.
- CVE-2026-35339Średnie
Tryb rekurencyjny (-R) narzędzia chmod w uutils coreutils nieprawidłowo obsługuje kody wyjścia przy wielu plikach. Wartość zwracana zależy tylko od ostatniego pliku, więc błędy takie jak 'Operation not permitted' na wcześniejszych plikach są maskowane przez sukces ostatniego.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

