CVE-2026-104632
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
Gitea Actions blokuje zadania przebiegów workflow z pull requestów od pierwszego kontrybutora z forka, dopóki opiekun nie zatwierdzi przebiegu. Ścieżka ponownego uruchomienia wymagała tylko, aby przebieg był zakończony, i budowała zadania nowej próby bez uwzględnienia oczekującego zatwierdzenia, więc gdy użytkownik z uprawnieniami zapisu do Actions anulował przebieg oczekujący na zatwierdzenie, a następnie uruchomił go ponownie, nowe zadania zostały utworzone jako oczekujące, a nie zablokowane, podczas gdy przebieg nadal rejestrował, że wymagane jest zatwierdzenie. Anulowanie i ponowne uruchamianie starych kontroli z forka jest rutynową czynnością, która nie obejmuje kontroli zatwierdzenia, więc tam, gdzie Actions jest włączone i zarejestrowany jest pasujący runner, kod workflow pobrany z głowy pull requesta z forka może zostać uruchomiony na runnerach repozytorium bez wyraźnego zatwierdzenia.
Ocena ryzyka
Ryzyko wykonania niezaufanego kodu z forków na runnerach repozytorium bez wymaganego zatwierdzenia, co może prowadzić do nieautoryzowanych działań, kradzieży sekretów lub kompromitacji infrastruktury CI/CD.
Rekomendacja
Zaktualizuj Gitea do wersji, która poprawnie uwzględnia oczekujące zatwierdzenie przy ponownym uruchamianiu przebiegów. Rozważ ograniczenie uprawnień do anulowania i ponownego uruchamiania przebiegów.
Inne podatności w Gitea
Zobacz wszystkie- CVE-2026-78433Nieznane
W Gitea mechanizm obsługi załączników pomija sprawdzanie własności między repozytoriami dla załączników utworzonych przed 16 stycznia 2026 i sprawdza uprawnienia względem repozytorium z adresu URL żądania. Nieuwierzytelniony atakujący znający UUID prywatnego załącznika może pobrać jego zawartość przez ścieżkę publicznego repozytorium.
- CVE-2026-78231Nieznane
Gdy w Gitea włączone jest logowanie OpenID, aplikacja przetwarza nieuwierzytelnione parametry asercji i wysyła żądanie HTTP POST do wskazanego przez wywołującego punktu końcowego dostawcy OpenID podczas weryfikacji. Atakujący kontroluje cel i większość treści formularza, co umożliwia interakcję z wewnętrznymi usługami HTTP osiągalnymi z serwera Gitea.
- CVE-2026-73814Nieznane
W Gitea punkt końcowy trybu dostępu współpracy akceptuje tryb Owner od uwierzytelnionego współpracownika repozytorium z uprawnieniami Admin. Współpracownik może podnieść swoje uprawnienia z Admin do Owner i wykonywać operacje zastrzeżone dla właściciela, w tym przenieść repozytorium na własne konto.
- CVE-2026-73804Nieznane
W Gitea token z zakresem write:user może zarejestrować kontrolowany przez atakującego klucz publiczny SSH na koncie właściciela tokenu. Żądania API podpisane odpowiadającym kluczem prywatnym uwierzytelniają się jako to konto przez HTTP Signature bez informacji o zakresie tokenu API, co pomija sprawdzanie zakresu na poziomie trasy.
- CVE-2026-73800Nieznane
W Gitea lokalne pliki wielokrotnego użytku workflow są rozwiązywane z commita head forka, gdy zaufany workflow gałęzi bazowej jest uruchamiany dla zdarzenia pull_request_target. Autor forka może zmodyfikować przywoływany workflow wielokrotnego użytku, aby wykonać kontrolowany przez atakującego kod z sekretami repozytorium i organizacji dostępnymi dla tego zdarzenia.
- CVE-2026-73539Nieznane
Gitea podstawia adres URL pochodzący z pola Context znaczników do szablonów poleceń zewnętrznego renderera bez escapowania ścieżki referencyjnej przed podziałem argumentów w stylu powłoki. Spreparowany Context może wstrzyknąć dodatkowe argumenty renderera, w tym opcje ładujące wykonywalne pliki filtrów. W środowiskach używających podatnego zewnętrznego renderera, takiego jak pandoc, użytkownik mogący umieścić plik filtra w dostępnej ścieżce może doprowadzić do jego wykonania jako konto usługi Gitea, a publiczny endpoint znaczników repozytorium może być osiągalny bez uwierzytelnienia.
- CVE-2026-73535Nieznane
Handler OpenID Connect w Gitea akceptuje hasło użytkownika bez wymuszenia weryfikacji zarejestrowanego TOTP lub WebAuthn przed zakończeniem logowania i powiązaniem identyfikatora OpenID. Gdy logowanie OpenID jest włączone, atakujący znający hasło ofiary może uzyskać sesję i powiązać kontrolowany przez siebie identyfikator. Atakujący może następnie logować się przez ten identyfikator bez hasła ofiary ani drugiego czynnika, a zmiana hasła nie usuwa powiązania.
- CVE-2026-73273Średnie
Gitea w obsłudze przesyłania pakietów Maven wczytuje przesłane sumy kontrolne w całości do pamięci i kończy przetwarzanie przed egzekwowaniem limitów rozmiaru pakietów. Uwierzytelniony użytkownik z uprawnieniem do publikowania pakietów może przesłać zbyt duże ciało żądania do punktu końcowego sumy kontrolnej, omijając limit i wyczerpując pamięć serwera.
- CVE-2026-73135Średnie
Gitea używa niespójnych predykatów widoczności repozytoriów, a warunek stosowany przez niektóre punkty końcowe listowania repozytoriów dopuszcza repozytoria, których właściciele są ukryci przed przeglądającym. Listowania ujawniają metadane repozytoriów, mimo że bezpośrednie trasy poprawnie odmawiają dostępu z odpowiedzią 404.
- CVE-2026-73130Średnie
Gitea nie ogranicza długości pola gitignores przyjmowanego przez formularze tworzenia repozytoriów oraz API. Inicjalizacja repozytorium dzieli to pole na nazwy szablonów, wielokrotnie odczytuje wskazane szablony i buforuje ich zawartość w pamięci. Atakujący mogący tworzyć repozytoria może przesłać zbyt dużą wartość, aby wzmocnić odczyty szablonów i zużycie pamięci, pogarszając dostępność.
Oryginalny opis (angielski, źródło NVD)
Gitea Actions blocks the jobs of workflow runs from first-time fork pull request contributors until a maintainer approves the run. The rerun path only required a run to be finished and built the new attempt's jobs without considering the pending approval, so when a user with Actions write access cancelled a run that was awaiting approval and then re-ran it, the new jobs were created as waiting rather than blocked while the run still recorded that approval was required. Cancelling and re-running stale fork checks is a routine action that does not involve the approval control, so where Actions is enabled and a matching runner is registered, workflow code taken from the fork pull request head could run on the repository's runners without an explicit approval.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

