CVE-2026-103918
ŚrednieCVSS 6.5Streszczenie
oRPC to narzędzie do budowania API typu end-to-end z bezpieczeństwem typów. W wersjach przed 1.14.10 wtyczki ZodSmartCoercionPlugin i experimental_ZodSmartCoercionPlugin zbierają właściwości obiektów w zwykłych obiektach i rozwiązują klucze kształtu przez łańcuch prototypów. Zdalny klient może dostarczyć __proto__, aby zastąpić prototyp zwracanego obiektu żądania, co pozwala na wstrzyknięcie dziedziczonych wartości do wyszukiwań aplikacji.
Ocena ryzyka
Atakujący może wpływać na logikę aplikacji poprzez manipulację prototypem, potencjalnie prowadząc do nieoczekiwanego zachowania lub ujawnienia danych.
Rekomendacja
Zaktualizuj oRPC do wersji 1.14.10 lub nowszej, która naprawia tę podatność.
Inne podatności w oRPC
Zobacz wszystkie- CVE-2026-103036Średnie
oRPC to narzędzie do budowania API typu end-to-end z bezpieczeństwem typów. W wersjach przed 1.14.9 wtyczka @orpc/json-schema SmartCoercionPlugin używa JsonSchemaCoercer do zbierania właściwości obiektów w zwykłym obiekcie i rozwiązywania wpisów schema.properties przez łańcuch prototypów. Zdalny klient może dostarczyć __proto__, aby zastąpić prototyp pojedynczego koercedowanego obiektu żądania lub podać nazwy członków Object.prototype, takich jak constructor i toString, aby dziedziczone wartości były traktowane jako podschematy.
- CVE-2026-77360Średnie
oRPC to narzędzie do budowania API typu end-to-end z zachowaniem standardów OpenAPI. W wersjach przed 1.14.8 wtyczka CORS @orpc/server w packages/server/src/plugins/cors.ts kopiuje nagłówek Vary przychodzącego żądania klienta do odpowiedzi, zamiast kontrolować Vary jako nagłówek tylko odpowiedzi i używać Origin do zmienności pochodzenia żądania. W środowiskach za współdzielonym cache, CDN lub reverse proxy, które używają Vary do kluczowania odpowiedzi, klient może wstrzyknąć dowolne wartości zmienności, zanieczyścić klucze cache i spowodować niespójne egzekwowanie CORS dla innych klientów.
Oryginalny opis (angielski, źródło NVD)
oRPC is a tool that helps build APIs that are end-to-end type-safe and adhere to OpenAPI standards. Prior to 1.14.10, the @orpc/zod ZodSmartCoercionPlugin and experimental_ZodSmartCoercionPlugin collect object and record properties in plain objects and resolve shape keys through the prototype chain. A remote client that can reach a procedure with an object or record input can supply __proto__ to replace the prototype of the returned request object, allowing attacker-controlled inherited values to reach application lookups. For object schemas, keys such as constructor, toString, and __proto__ can instead resolve inherited members as Zod schemas and cause an unhandled TypeError before validation. The global Object.prototype, unrelated objects, other requests, and other users are not modified, and the availability effect is limited to crafted requests rather than persistent process-wide state. This issue is fixed in version 1.14.10.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

