CVE-2026-108259
WysokieCVSS 8.2Streszczenie
Tina (headless CMS) w wersjach przed 3.0.0 — @tinacms/cli odczytuje wartości gałęzi Git z VERCEL_GIT_COMMIT_REF, GITHUB_BRANCH lub HEAD i wstawia surową wartość do adresu URL API oraz literałów tekstowych w generowanym kodzie JavaScript. Spreparowana nazwa gałęzi zawierająca cudzysłów może przerwać łańcuch i wstrzyknąć wyrażenie wykonywane przy imporcie wygenerowanego modułu podczas budowania podglądu. Problem naprawiono w wersji 3.0.0.
Ocena ryzyka
Wstrzyknięty kod działa z uprawnieniami procesu budowania i może odczytać poświadczenia środowiskowe, modyfikować artefakty wdrożenia lub wykonywać żądania sieciowe. Ryzyko dotyczy procesów CI/CD budujących podglądy.
Rekomendacja
Zaktualizuj @tinacms/cli do wersji 3.0.0 lub nowszej. Ogranicz możliwość tworzenia gałęzi o dowolnych nazwach w repozytoriach używanych do budowania.
Inne podatności w Tina
Zobacz wszystkie- CVE-2026-108260Wysokie
Tina (headless CMS) w wersjach przed 0.2.1 przypisuje wartość node.url bezpośrednio do atrybutu href bez walidacji schematu URL w komponencie tina-markdown. Autor treści może zapisać link używający schematu umożliwiającego wykonanie skryptu, a odwiedzający klikający taki link uruchamia złośliwy skrypt w kontekście witryny. Problem naprawiono w wersji 0.2.1.
- CVE-2026-108261Krytyczne
W wersjach przed tinacms 3.14.0 i @tinacms/app 2.5.14, trasa podglądu admina /~/* w Tina (headless CMS) może zamienić kontrolowany przez atakującego splat routera hash na iframe z zewnętrznego origin, a expectedOrigin dla kanału GraphQL jest wyprowadzany z tego samego URL. Nieuwierzytelniony atakujący może wysłać spreparowany link do zalogowanego edytora, powodując osadzenie złośliwego origin i traktowanie go jako zaufanego podglądu, co umożliwia wykonywanie odczytów/mutacji GraphQL z poświadczeniami edytora. Problem naprawiono w tinacms 3.14.0 i @tinacms/app 2.5.14.
- CVE-2026-63506Wysokie
W Tina (headless CMS) przed @tinacms/auth 1.1.4 i next-tinacms-azure 15.0.1 funkcja isAuthorized przyjmuje clientID kontrolowany przez żądanie i waliduje token bearer względem wybranej aplikacji TinaCloud zamiast aplikacji skonfigurowanej dla witryny self-hosted. Atakujący z dowolnym kontem TinaCloud może przesłać własny app ID i ważny token do endpointu ofiary, uzyskując dostęp do jej treści.
Oryginalny opis (angielski, źródło NVD)
Tina is a headless content management system. Prior to 3.0.0, @tinacms/cli reads Git branch values from VERCEL_GIT_COMMIT_REF, GITHUB_BRANCH, or HEAD, incorporates the raw value into the API URL, and interpolates that URL into JavaScript string literals in packages/@tinacms/cli/src/next/codegen/index.ts and packages/@tinacms/cli/src/next/codegen/codegen/plugin.ts. A crafted Git-valid branch name containing a quote can terminate the generated string and inject an expression that executes when the generated client module is imported during a preview build. The injected code runs with the build process privileges and can read environment credentials, modify deployment artifacts, or make network requests. This issue is fixed in version 3.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

