CVE-2026-58370
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 54 - wyżej niż 54% wszystkich znanych CVE
Streszczenie
Podatność w Woodpecker przed wersją 3.15.0 pozwala na obejście listy ApprovalAllowedUsers poprzez manipulację polem pipeline.Author. Dla integracji z GitLab, autor potoku jest pobierany z nazwy autora commita (commit.author.name) w webhooku, która jest kontrolowana przez atakującego i nie jest weryfikowana przez GitLab. Użytkownik otwierający merge request z forka może ustawić nazwę autora commita tak, aby pasowała do wpisu na liście ApprovalAllowedUsers, co powoduje, że needsApproval zwraca false i potok uruchamia się bez wymaganej zgody.
Ocena ryzyka
Ryzyko polega na naruszeniu granicy bezpieczeństwa fork-approval, umożliwiając wykonanie kontrolowanych przez atakującego kroków potoku na agencie Woodpecker oraz eksfiltrację sekretów CI udostępnionych w trakcie uruchomienia. Może to prowadzić do nieautoryzowanego dostępu do wrażliwych danych i zasobów.
Rekomendacja
Zaleca się natychmiastową aktualizację Woodpecker do wersji 3.15.0 lub nowszej. Dla forków GitLab należy dodatkowo rozważyć weryfikację tożsamości autora commita po stronie forga.
Inne podatności w Woodpecker
Zobacz wszystkie- CVE-2026-61549Krytyczne
Woodpecker, silnik CI/CD, w wersjach od 1.0.0 do 3.16.0 pozwala użytkownikowi z uprawnieniem Push na podłączonym repozytorium uruchamiać kroki potoku w dowolnym ServiceAccount w przestrzeni nazw potoku bez autoryzacji administratora. Umożliwia to dziedziczenie uprawnień RBAC tego konta i potencjalne przejęcie klastra. Problem naprawiono w wersji 3.16.0.
- CVE-2026-58369Średnie
Woodpecker przed wersją 3.15.0 udostępnia endpoint /api/orgs/lookup/*org_full_name bez uwierzytelniania, a procedura obsługi LookupOrg bezwzględnie wyłuskuje użytkownika sesji (user.ForgeID przez ForgeFromUser) przy wyborze forga do zapytania. Dla nieuwierzytelnionego żądania session.User zwraca nil, co powoduje wyłuskanie wskaźnika NULL i panikę. Panika jest przechwytywana przez middleware gin recovery, a serwer kontynuuje działanie (zwracając HTTP 500), ale każde żądanie zapisuje wieloliniowy ślad paniki do dziennika błędów.
Oryginalny opis (angielski, źródło NVD)
Woodpecker before 3.15.0 matches the ApprovalAllowedUsers bypass list against pipeline.Author. For the GitLab forge driver, pipeline.Author is populated from the git commit author name (commit.author.name) carried in the webhook payload, which is attacker-controlled and not verified by GitLab. A user who can open a merge request from a fork can set the commit author name to match an entry in ApprovalAllowedUsers, causing needsApproval to return false so the pipeline runs without the required approval. This defeats the fork-approval security boundary and allows execution of attacker-controlled pipeline steps on a Woodpecker agent and exfiltration of CI secrets exposed to the run. Other built-in forge drivers (Gitea, Forgejo, GitHub, Bitbucket) derive pipeline.Author from the forge-validated sender/actor identity and are not affected.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

