CVE-2026-54746
ŚrednieCVSS 6.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
Hatchet od wersji 0.40.0 do 0.91.1 nie weryfikuje, czy identyfikator pracownika (worker ID) w żądaniach Dispatcher/UpsertWorkerLabels i Dispatcher/Unsubscribe należy do dzierżawy wskazanej w kontekście tokena. Uwierzytelniony właściciel dowolnej dzierżawy, który zgadnie UUID pracownika innej dzierżawy, może nadpisać etykiety powinowactwa tego pracownika lub rozłączyć go z dyspozytorem.
Ocena ryzyka
Może to prowadzić do naruszenia integralności między dzierżawami oraz do ataków DoS w środowiskach wielodostępnych Hatchet Cloud lub współdzielonych instalacjach self-hosted. Pojedyncze dzierżawy nie są praktycznie zagrożone.
Rekomendacja
Zaktualizuj Hatchet do wersji 0.91.1, która zawiera poprawkę weryfikującą przynależność identyfikatora pracownika do dzierżawy.
Inne podatności w Hatchet
Zobacz wszystkie- CVE-2026-88978Średnie
Hatchet przed wersją 0.106.1 ma brak filtra dzierżawcy (tenant) w ścieżce gRPC WorkerStatus w pkg/repository/durable_events.go. Uwierzytelniony pracownik jednego dzierżawcy, znając identyfikator UUID zadania innego dzierżawcy, może odczytać odpowiadające rekordy dziennika zdarzeń, co prowadzi do naruszenia izolacji danych.
- CVE-2026-84298Niskie
Hatchet przed wersją 0.95.3 w handlerze strumienia V1 DurableTask zapisuje wartości task_external_id dostarczone przez workera w mapie routingu durableInvocations przed weryfikacją własności tenanta, a dostarczanie callbacków rozwiązuje tę mapę po UUID zadania bez tożsamości tenanta. Uwierzytelniony worker jednego tenanta, znający UUID zadania innego tenanta i utrzymujący otwarty strumień na tym samym procesie dyspozytora, może odebrać ładunek wyniku callbacku tego zadania.
- CVE-2026-63342Średnie
Hatchet przed wersją 0.91.1 ma brak walidacji dzierżawcy w punkcie API GET /api/v1/stable/durable-tasks/{durable-task} w api-contracts/openapi/paths/v1/workflow-runs/workflow_run.yaml. Uwierzytelniony użytkownik, znając identyfikator UUID zadania innego dzierżawcy, może odczytać jego dziennik zdarzeń, w tym nazwy zadań, identyfikatory przepływów pracy, komunikaty użytkownika, warunki oczekiwania i logikę rozgałęzień.
- CVE-2026-61687Wysokie
W Hatchet przed wersją 0.91.1 funkcja ValidateOAuthState po udanym wywołaniu zwrotnym OAuth czyści wartość sesji oauth_state_ do pustego ciągu, a następnie akceptuje pusty parametr state jako równy. Umożliwia to nieuwierzytelnionemu atakującemu powiązanie sesji ofiary w Hatchet z kontrolowaną przez atakującego tożsamością OAuth.
- CVE-2026-61681Średnie
Hatchet przed wersją 0.91.1 ma podatność SSRF w handlerze SNS UnsubscribeConfirmation. Uwierzytelniony tenant może podmienić pole UnsubscribeURL w ważnej wiadomości AWS na wewnętrzny URL, co pozwala na żądania serwerowe do EC2 Instance Metadata Service, wewnętrznych usług i interfejsów API. Może to ujawnić poświadczenia IAM lub dostępne dane i funkcje sieciowe.
Oryginalny opis (angielski, źródło NVD)
Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. From 0.40.0 until 0.91.1, the Dispatcher gRPC service does not verify that a request's worker ID belongs to the tenant identified by the bearer-token context in Dispatcher/UpsertWorkerLabels and Dispatcher/Unsubscribe. An authenticated owner of any tenant who guesses another tenant's worker UUID can overwrite that worker's affinity labels or disconnect the worker from the dispatcher. This can cause cross-tenant integrity impact and denial of service on multi-tenant Hatchet Cloud or shared self-hosted deployments. Single-tenant deployments are not practically affected because the attacker and target tenant are the same. This issue is fixed in version 0.91.1.

