CVE-2026-101023
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Przedłużenie ważności sesji — atakujący z tokenem dostępu może uzyskać nowe tokeny i utrzymać dostęp do konta ofiary poza zamierzony czas, co może prowadzić do długotrwałego nieautoryzowanego dostępu.
Rekomendacja
Zaktualizuj Gitea do wersji z poprawką i sprawdź, czy punkt tokenu OAuth2 weryfikuje typ tokenu przy użyciu grantu refresh_token.
Inne podatności w Gitea
Zobacz wszystkie- CVE-2026-95106Krytyczne
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.
- 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's OAuth2 token endpoint verified the signature and grant of a token submitted with the `refresh_token` grant type, but not that the token was a refresh token. An unexpired access token for the same OAuth2 application and grant could be exchanged for a new access token and refresh token. Whoever holds such an access token could keep access beyond the token's original lifetime.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

