Wydanie przez Gita wersji 2.48.1 we wtorek ze styczniową aktualizacją 2025 dotyczy dwóch nowo zidentyfikowanych luki w zabezpieczeniach, które stanowiły poważne ryzyko dla programistów na całym świecie.
Luki CVE-2024-50349 i CVE-2024-52006, oba wiążą się z potencjalnym wykorzystaniem procesów zarządzania danymi uwierzytelniającymi Git, co podkreśla krytyczne znaczenie solidnych praktyk bezpieczeństwa w rozwoju oprogramowania typu open source.
Te luki zostały ujawnione przez badacza bezpieczeństwa RyotaK, a poprawki opracował Johannes Schindelin we współpracy z prywatną listą mailingową git-security.
GitHub mówi podjął proaktywne kroki w celu złagodzenia tych ryzyko poprzez wdrażanie aktualizacji we wszystkich swoich narzędziach i platformach.
Powiązane: Wtorkowa aktualizacja ze stycznia 2025 r.: Microsoft łata 159 luk w zabezpieczeniach funkcji Hyper-V, OLE i nie tylko
Zrozumienie luk: bliższe spojrzenie
CVE-2024-50349 ujawnia lukę w sposobie, w jaki Git obsługuje interaktywne monity o poświadczenia. Kiedy Git żąda od użytkownika wprowadzenia danych uwierzytelniających, wyświetla nazwę hosta po zdekodowaniu adresu URL.
To zachowanie umożliwia atakującym osadzanie sekwencji ucieczki ANSI w złośliwych adresach URL, co może powodować tworzenie mylących komunikatów. Takie oszustwo może nakłonić programistów do nieumyślnego ujawnienia poufnych danych uwierzytelniających.
Kolejna luka, CVE-2024-52006 wpływa na protokół pomocniczy poświadczeń Git. Pomocnicy poświadczeń upraszczają proces przechowywania i odzyskiwania poświadczeń, ale ta wada umożliwia atakującym wstawianie znaków powrotu karetki do specjalnie spreparowanych adresów URL.
Powiązane: Projekt GitHub oferuje blokowanie wszystkich znanych robotów sieciowych AI za pośrednictwem pliku ROBOTS.TXT
Ta manipulacja zmienia strumień protokołu, przekierowując dane uwierzytelniające użytkownika do nieautoryzowanych serwery. Jak zauważył Schindelin: „Poprawiono zachowanie, w którym znaki powrotu pojedynczego karetki są interpretowane jako znaki nowej linii przez niektóre implementacje pomocnicze poświadczeń”.
Obie luki nie są niespotykane. CVE-2024-52006 opiera się na wcześniej zgłoszonej luce. CVE-2020-5260, podkreślając ewoluujący charakter zagrożeń w zarządzaniu danymi uwierzytelniającymi.
Odpowiedź GitHuba
Widząc potencjalny wpływ tych luk, GitHub szybko wprowadził aktualizacje kluczowych narzędzi, w tym GitHub Desktop, Git LFS i Git Credential Manager
Dodatkowo GitHub zastosował poprawki zabezpieczeń w swoim środowisku Codespaces i Narzędzie wiersza poleceń CLI, wzmacniające swój ekosystem przed podobnymi zagrożeniami. Platforma podkreśliła znaczenie współpracy w rozwiązywaniu tych problemów, stwierdzając: „Nasze proaktywne środki zapewniają, że programiści pozostań chroniony podczas korzystania z usług GitHub.”
Powiązane: GitHub ogłasza nowy bezpłatny plan GitHub Copilot dla Visual Studio
GitHub udostępnił także najlepsze praktyki dla programistów, którzy nie mogą natychmiast zaktualizuj do Git 2.48.1. Zalecenia obejmują unikanie flagi –recurse-submodules podczas operacji klonowania z niezaufanych repozytoriów i ograniczenie polegania na pomocnikach poświadczeń.
Zalecenia dla programistów
Zdecydowanie zaleca się programistom aktualizację do wersji Git 2.48.1, aby w pełni ograniczyć to ryzyko. Najnowsza wersja zawiera poprawki dla CVE-2024-50349 i CVE-2024-52006, a także inne ulepszenia zabezpieczeń. W przypadku osób borykających się z opóźnieniami w aktualizacji wytyczne GitHub zapewniają tymczasowe strategie minimalizujące ryzyko.
Luki podkreślają szersze wyzwania w zabezpieczaniu narzędzi typu open source. Powszechne użycie Gita w zespołach programistycznych sprawia, że jest on krytycznym elementem przepływów pracy współczesnego oprogramowania, a każda luka w zabezpieczeniach może mieć kaskadowy wpływ na projekty i organizacje.
Powiązane: GitHub Copilot dodaje odniesienie do kodu w Visual Studio