
CERT Polska poinformowało o podatności w narzędziu diff-so-fancy, które służy do formatowania i kolorowania wyników różnic między plikami (diff) w terminalu. Luka oznaczona jako CVE-2026-50642 polega na nieprawidłowym kodowaniu lub pomijaniu znaków kontrolnych, co może pozwolić atakującemu na manipulację wyświetlanymi danymi i przejęcie schowka.
Narzędzie diff-so-fancy jest popularne wśród programistów i administratorów systemów, którzy codziennie przeglądają zmiany w kodzie źródłowym. CERT Polska koordynował proces ujawnienia podatności i potwierdził, że poprawka jest już dostępna.
Najważniejsze fakty
| Element | Opis |
|---|---|
| Podatność | CVE-2026-50642 – Improper Encoding or Escaping of Output |
| Produkt | diff-so-fancy |
| Zgłaszający | Michał Majchrowicz i Marcin Wyczechowski (zespół AFINE) |
| Łatka | commit 9c81294 |
Na czym polega podatność
Problem wynika z tego, że diff-so-fancy usuwa jedynie sekwencje ANSI SGR (odpowiedzialne za stylizację, np. kolory), ale nie sanityzuje innych znaków kontrolnych terminala, takich jak \r, OSC (Operating System Command) czy CSI (Control Sequence Introducer). Oznacza to, że atakujący może osadzić złośliwe sekwencje w nazwach plików, metadanych diff lub samej zawartości plików. Gdy użytkownik wyświetli diff w terminalu, te sekwencje zostaną wykonane.
Kto jest zagrożony
Luka dotyczy wszystkich użytkowników diff-so-fancy, którzy przeglądają wyniki diff w terminalu. Dotyczy to szczególnie programistów pracujących z systemami kontroli wersji, recenzentów kodu oraz administratorów serwerów, którzy korzystają z tego narzędzia do analizy zmian. Zagrożenie jest tym poważniejsze, że atak może być przeprowadzony zdalnie – wystarczy, że ofiara wyświetli diff zawierający spreparowane dane, np. pochodzące z repozytorium publicznego lub przesłane przez współpracownika.
Potencjalne konsekwencje
Skutki udanego ataku mogą być różne. Najłagodniejsze to fałszowanie nazw plików – użytkownik widzi inną nazwę niż rzeczywista, co może prowadzić do błędnej oceny zmian. Poważniejszym zagrożeniem jest możliwość wstrzyknięcia tekstu do schowka za pomocą obsługiwanych sekwencji escape. Jeśli ofiara następnie wklei zawartość schowka w terminalu lub edytorze, może dojść do nieświadomego wykonania poleceń. Atakujący może również wyczyścić ekran terminala, co dodatkowo utrudnia wykrycie manipulacji.
CERT Polska podkreśla, że pomyślne wykorzystanie podatności może wprowadzić użytkowników w błąd podczas przeglądu kodu, zmienić stan terminala lub skutkować niezamierzonym wykonaniem poleceń.
Dostępna łatka i rekomendacje
Problem został naprawiony w commicie 9c81294. Użytkownicy diff-so-fancy powinni jak najszybciej zaktualizować narzędzie do wersji zawierającej poprawkę. CERT Polska nie informuje o aktywnych atakach wykorzystujących tę lukę, jednak ze względu na charakter zagrożenia zaleca się niezwłoczną aktualizację.
Osoby, które nie mogą natychmiast zaktualizować oprogramowania, powinny zachować ostrożność przy przeglądaniu diffów pochodzących z nieufnych źródeł. W środowiskach, gdzie recenzja kodu jest kluczowa, warto rozważyć tymczasowe użycie alternatywnych narzędzi do wyświetlania różnic.
Źródło: CERT Polska – https://cert.pl/posts/2026/07/CVE-2026-50642/
Źródła i weryfikacja
Materiał przygotowano jako praktyczną notatkę redakcyjną. Przed decyzjami prawnymi, finansowymi lub urzędowymi sprawdzaj dane w źródle pierwotnym.
- Oficjalne źródła i weryfikacja redakcyjna