CVE-2026-84303
ŚrednieCVSS 6.3Streszczenie
gRPC-Go przed wersją 1.83.1 zawiera podatność w filtrze HTTP xDS RBAC, gdzie nazwy nagłówków nie są konwertowane na małe litery, mimo że przychodzące klucze metadanych są małymi literami. Polityka DENY używająca nazw mieszanych, takich jak X-Role lub User-Agent, nie dopasowuje się i zawodzi w trybie otwartym, pozwalając na żądania, które powinny być odrzucone. Ta sama niezgodność wielkości liter umożliwia obejście walidacji gRFC A41 dla :Scheme lub Grpc-Status oraz zapobiega przepisaniu Host na :authority. Problem został naprawiony w wersji 1.83.1.
Ocena ryzyka
Organizacja może być narażona na nieautoryzowany dostęp do zasobów chronionych politykami RBAC, ponieważ żądania, które powinny być odrzucone, mogą zostać przepuszczone. Ponadto obejście walidacji gRFC A41 może prowadzić do naruszenia integralności komunikatów.
Rekomendacja
Zaleca się natychmiastową aktualizację gRPC-Go do wersji 1.83.1 lub nowszej, aby wyeliminować podatność.
Inne podatności w gRPC-Go
Zobacz wszystkie- CVE-2026-84304Wysokie
gRPC-Go przed wersją 1.83.1 przechowuje każdą fragmentowaną ramkę HTTP/2 DATA jako osobny komunikat w buforze odbiorczym, co może prowadzić do nadmiernego zużycia pamięci przy milionach jednobajtowych ramek, nawet gdy ładunek pozostaje w granicach okien przepływu. Nieuwierzytelniony zdalny atakujący może wykorzystać równoległe strumienie do wyczerpania pamięci procesu i spowodować awarię lub zakończenie z powodu braku pamięci. Kompaktowanie bufora odbiorczego jest domyślnie włączone i można je tymczasowo kontrolować za pomocą GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION. Problem naprawiono w wersji 1.83.1.
- GHSA-hrxh-6v49-42gfWysokie
W bibliotece grpc-go zidentyfikowano wiele podatności wpływających na silnik autoryzacji xDS RBAC oraz implementację serwera transportowego HTTP/2. Podatności te mogą prowadzić do obejścia autoryzacji (tryb Fail-Open) podczas translacji zasad.
- CVE-2026-33186Krytyczne
Podatność w gRPC-Go przed wersją 1.79.3 pozwala na obejście autoryzacji z powodu nieprawidłowej walidacji nagłówka `:path` w HTTP/2. Serwer akceptował żądania z brakującym ukośnikiem na początku ścieżki (np. `Service/Method` zamiast `/Service/Method`), co powodowało, że reguły blokujące oparte na kanonicznych ścieżkach nie były stosowane. Atakujący może wykorzystać to do ominięcia polityk bezpieczeństwa, jeśli istnieje reguła domyślnie zezwalająca na dostęp.
Oryginalny opis (angielski, źródło NVD)
gRPC-Go is the Go language implementation of gRPC. Prior to 1.83.1, the xDS RBAC HTTP filter in internal/xds/httpfilter/rbac/rbac.go does not lowercase header matcher names in normalizeHeaderMatcher even though incoming metadata keys are lowercase. A DENY policy using a mixed-case name such as X-Role or User-Agent therefore does not match and fails open, allowing requests that should be rejected. The same case mismatch permits :Scheme or Grpc-Status to evade gRFC A41 validation and prevents Host from being rewritten to :authority. This issue is fixed in version 1.83.1.

