CVE-2026-103036
ŚrednieCVSS 6.5Streszczenie
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.
Ocena ryzyka
Atakujący może wpływać na logikę obsługi, Object.assign lub wyszukiwania konfiguracji, potencjalnie prowadząc do nieoczekiwanego zachowania lub ujawnienia danych.
Rekomendacja
Zaktualizuj oRPC do wersji 1.14.9 lub nowszej, która naprawia tę podatność.
Inne podatności w oRPC
Zobacz wszystkie- CVE-2026-103918Średnie
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.
- 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.9, the @orpc/json-schema SmartCoercionPlugin uses JsonSchemaCoercer to collect object properties in a plain object and to resolve schema.properties entries through the prototype chain. A remote client that can reach a procedure with an object input schema can supply __proto__ to replace the prototype of the single coerced request object, or supply Object.prototype member names such as constructor and toString so inherited values are treated as sub-schemas and pass the coercer's satisfaction check. Attacker-controlled inherited properties can consequently affect handler, Object.assign, or configuration lookups, while legitimate __proto__ properties are dropped. The global Object.prototype, unrelated objects, other requests, and other users are not modified, and downstream schema validation still runs. This issue is fixed in version 1.14.9.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

