CVE-2026-40190
ŚrednieCVSS 5.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
W bibliotece LangSmith JavaScript/TypeScript SDK (langsmith) przed wersją 0.5.18 wykryto niekompletną ochronę przed zanieczyszczeniem prototypu. Funkcja baseAssignValue() blokuje jedynie klucz __proto__, ale nie zapobiega modyfikacji prototypu przez konstruktor.prototype, co umożliwia atakującemu kontrolującemu klucze w danych przetwarzanych przez API createAnonymizer() zanieczyszczenie Object.prototype i wpłynięcie na wszystkie obiekty w procesie Node.js.
Ocena ryzyka
Atakujący może zdalnie zmodyfikować prototyp obiektów w aplikacji Node.js, co może prowadzić do nieautoryzowanego dostępu do danych, eskalacji uprawnień lub wykonania dowolnego kodu w kontekście aplikacji.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę langsmith do wersji 0.5.18 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do API createAnonymizer() i dokładnie walidować dane wejściowe.
Oryginalny opis (angielski, źródło NVD)
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. Prior to 0.5.18, the LangSmith JavaScript/TypeScript SDK (langsmith) contains an incomplete prototype pollution fix in its internally vendored lodash set() utility. The baseAssignValue() function only guards against the __proto__ key, but fails to prevent traversal via constructor.prototype. This allows an attacker who controls keys in data processed by the createAnonymizer() API to pollute Object.prototype, affecting all objects in the Node.js process. This vulnerability is fixed in 0.5.18.

