CVE-2026-59774
KrytyczneCVSS 9.8Streszczenie
Renderer znaczników Org-mode w Gitea przetwarza dyrektywy INCLUDE dostarczone do punktu końcowego znaczników repozytorium bez zapobiegania dostępowi do plików po stronie serwera. Niezautoryzowany atakujący może użyć publicznego repozytorium do odczytu plików dostępnych dla konta usługi Gitea. Jeśli ujawnione pliki zawierają app.ini i INTERNAL_TOKEN, atakujący może zmodyfikować hook Git i wykonać polecenia jako konto usługi Gitea.
Ocena ryzyka
Atakujący może uzyskać dostęp do poufnych plików serwera i przejąć kontrolę nad usługą Gitea, co prowadzi do pełnej kompromitacji systemu.
Rekomendacja
Zaktualizuj Gitea do wersji z poprawką i ogranicz dostęp do punktu końcowego znaczników repozytorium.
Inne podatności w Gitea
Zobacz wszystkie- CVE-2026-71184Wysokie
W Gitea, notyfikator przeglądu pull request nie dołącza pull requesta do powiadomienia Actions, przez co bramka zatwierdzania dla forków nie rozpoznaje uruchomienia jako pochodzącego z forka. Zdarzenia komentarzy i zatwierdzeń/odrzuceń przeglądu mogą załadować kod workflow z forka i uruchomić go na runnerach bazowego repozytorium bez wymaganego zatwierdzenia przez opiekuna.
- CVE-2026-66877Wysokie
W Gitea, wymóg zatwierdzenia dla pierwszego kontrybutora z forka jest egzekwowany przez blokowanie zadań, ale niektóre ścieżki przejść i wysyłek nie sprawdzają ponownie wymogu zatwierdzenia. Osobne uruchomienie współdzielące grupę concurrency na poziomie zadania może anulować oczekujące zadanie i spowodować ponowne wyemitowanie i wysłanie zablokowanych zadań bez zatwierdzenia.
- 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-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.
Oryginalny opis (angielski, źródło NVD)
Gitea's Org-mode markup renderer processes INCLUDE directives supplied to the repository markup endpoint without preventing access to server-side files. An unauthenticated attacker can use a suitable public repository to read files accessible to the Gitea service account. If the disclosed files include app.ini and its INTERNAL_TOKEN, the attacker can chain the disclosure with internal logger access to modify a Git hook and execute commands as the Gitea service account.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

