CVE-2026-95106
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 4 - wyżej niż 4% wszystkich znanych CVE
Streszczenie
Gitea akceptował wypchnięte drzewa Git zawierające dwa wpisy o tej samej nazwie, które własne kontrole spójności Gita odrzucają. Widoki internetowe Gitea rozwiązywały taką ścieżkę do pierwszego wpisu, podczas gdy `git checkout`, Gitea Actions i archiwa wydań używają ostatniego. Współpracownik mógł otworzyć pull request, którego diff i widoki plików pokazują nieszkodliwą treść, podczas gdy CI i checkouts w tym samym commicie używają innej, kontrolowanej przez atakującego treści. Przychodzące obiekty są teraz sprawdzane pod kątem spójności; obiekty już przechowywane w istniejących repozytoriach nie są ponownie skanowane.
Ocena ryzyka
Atakujący może wprowadzić złośliwą treść do repozytorium, która zostanie wykonana w CI lub przy checkout, podczas gdy przeglądanie kodu pokazuje nieszkodliwą wersję, co może prowadzić do naruszenia bezpieczeństwa.
Rekomendacja
Zaktualizuj Gitea do wersji z poprawką i rozważ ponowne skanowanie istniejących repozytoriów pod kątem niespójnych drzew.
Inne podatności w Gitea
Zobacz wszystkie- CVE-2026-101023Krytyczne
Punkt tokenu OAuth2 Gitea weryfikował podpis i grant tokenu przesłanego z typem grantu refresh_token, ale nie sprawdzał, czy token jest tokenem odświeżania. Niewygasły token dostępu dla tej samej aplikacji OAuth2 i grantu mógł być wymieniony na nowy token dostępu i token odświeżania. Posiadacz takiego tokenu dostępu mógł utrzymać dostęp poza pierwotny czas życia tokenu.
- CVE-2026-94205Krytyczne
Gitea Actions decydował, czy przebieg pull requesta z forka wymaga zatwierdzenia, na podstawie użytkownika, który wyzwolił zdarzenie, a nie autora pull requesta. Dla aktywności `pull_request` wyzwolonej przez opiekuna podczas zwykłego triażu, takiego jak dodanie etykiety, przebieg był tworzony bez wymagania zatwierdzenia, podczas gdy definicja przepływu pracy była nadal pobierana z głowy forka. Tam, gdzie Actions jest włączone i zarejestrowany jest pasujący runner, kod przepływu pracy kontrolowany przez fork mógł działać na runnerach bazowego repozytorium bez wyraźnego zatwierdzenia.
- CVE-2026-73278Krytyczne
Ścieżki logowania Gitea przez OAuth2 i OpenID Connect nie wymagają wyzwania WebAuthn, gdy WebAuthn jest jedynym skonfigurowanym drugim czynnikiem uwierzytelniania. Osoba uwierzytelniona przez zewnętrzny przepływ tożsamości może uzyskać pełną sesję bez weryfikacji passkey, która jest wymagana przy logowaniu hasłem. Jedna z dotkniętych ścieżek może również utrwalić powiązanie zewnętrznej tożsamości, rozszerzając kompromitację poza początkową sesję; konta z TOTP są poza opisanym scenariuszem WebAuthn-only.
- CVE-2026-103059Krytyczne
Gdy wbudowany serwer SSH Gitea jest włączony (`START_SSH_SERVER = true`), prezentowany klucz publiczny był wyszukiwany za pomocą porównania SQL `LIKE` jego zakodowanej treści, które jest niewrażliwe na wielkość liter na niektórych bazach danych, w tym domyślnym SQLite. Atakujący, który może skonstruować wariant wielkości liter zarejestrowanego klucza publicznego RSA innego użytkownika, dla którego może wyprowadzić klucz prywatny, może spowodować dopasowanie tego klucza do konta ofiary i uwierzytelnić się przez SSH jako ten użytkownik. Klucze są teraz wyszukiwane po odcisku palca.
- CVE-2026-60004KrytyczneAktywnie exploitowane
Gitea przed wersją 1.27.1 umożliwia zdalne wykonanie kodu poprzez API diffpatch przez instalację hooków Git.
- CVE-2026-58508Krytyczne
Dwie podatności SSRF w migracji/mirrorowaniu Gitea (DNS rebinding + brak ponownej walidacji).
- CVE-2026-58443Krytyczne
Tokeny repozytorium tylko do odczytu mogą aktualizować prywatne gałęzie head PR.
- CVE-2026-58433Krytyczne
Endpoint łączący repozytorium z zespołem omija ustawienie organizacji RepoAdminChangeTeamAccess. Oznacza to, że użytkownik bez odpowiednich uprawnień może zmienić przypisanie repozytorium do zespołu.
- CVE-2026-56750Krytyczne
Kradzież tokena „Remember-Me” w Gitea nie unieważnia sesji atakującego, co pozwala na dalszy nieautoryzowany dostęp.
- CVE-2026-56654Krytyczne
Podatność umożliwia eskalację uprawnień poprzez rozszerzenie zakresu tokena dostępu w API.
Oryginalny opis (angielski, źródło NVD)
Gitea accepted pushed Git trees containing two entries with the same name, which Git's own consistency checks reject. Gitea's web views resolved such a path to the first entry, while `git checkout`, Gitea Actions, and release archives use the last. A contributor could open a pull request whose diff and file views show benign content while CI and checkouts at the same commit use different, attacker-controlled content. Incoming objects are now checked for consistency; objects already stored in existing repositories are not rescanned.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

