CRITICAL✓ PATCH🇬🇧 English

CVE-2021-26707

Prototype Pollution w bibliotece merge-deep dla Node.js

CVSS 9.8v3.1pub. 2021-06-02upd. 2024-11-21

Biblioteka merge-deep przed wersją 3.0.3 dla Node.js jest podatna na atak prototype pollution, umożliwiający nadpisanie lub rozszerzenie właściwości bazowego obiektu Object.prototype. Ze względu na mechanizm dziedziczenia w JavaScript, zmodyfikowane właściwości są następnie dostępne we wszystkich obiektach w aplikacji, co czyni tę podatność szczególnie niebezpieczną.

Pokaż oryginał (EN)

The merge-deep library before 3.0.3 for Node.js can be tricked into overwriting properties of Object.prototype or adding new properties to it. These properties are then inherited by every object in the program, thus facilitating prototype-pollution attacks against applications using this library.

🤖 Analiza AI
Jak działa

Atakujący może dostarczyć spreparowany obiekt JSON zawierający klucze takie jak '__proto__' lub 'constructor', które podczas operacji głębokiego scalania (deep merge) są nieodpowiednio obsługiwane przez bibliotekę. Prowadzi to do nadpisania lub dodania nowych właściwości do Object.prototype — globalnego prototypu wszystkich obiektów JavaScript. Ponieważ każdy obiekt w programie Node.js dziedziczy właściwości z Object.prototype, zmodyfikowane właściwości stają się widoczne w całej aplikacji, co może prowadzić do przejęcia logiki jej działania.

Skutki

Atakujący może manipulować zachowaniem aplikacji poprzez wstrzyknięcie arbitralnych właściwości do wszystkich obiektów, co w zależności od kontekstu aplikacji może prowadzić do obejścia mechanizmów autoryzacji, eskalacji uprawnień lub zdalnego wykonania kodu (RCE).

Mitygacja

Należy zaktualizować bibliotekę merge-deep do wersji 3.0.3 lub nowszej, w której wprowadzono odpowiednie zabezpieczenia sanityzujące klucze scalanych obiektów. Użytkownicy NetApp E-Series Performance Analyzer powinni zastosować patche zgodnie z zaleceniami producenta dostępnymi w referencjach.

Kogo dotyczy

Biblioteka merge-deep w wersjach przed 3.0.3 dla Node.js oraz produkty korzystające z tej biblioteki, w tym NetApp E-Series Performance Analyzer.

Uwagi

Podatność została zidentyfikowana i opisana przez GitHub Security Lab (GHSL-2020-160). Poprawka została wprowadzona w commicie 11e5dd56de8a6aed0b1ed022089dbce6968d82a5 w repozytorium biblioteki.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Merge Deep Project Merge Deep

    APP
    Merge-Deep Project
    < 3.0.3
  • Netapp E Series Performance Analyzer

    APP
    Netapp
    wszystkie wersje
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

CVE-2021-20231CRITICAL9.8PL ✓ten sam produkt

GnuTLS: use-after-free w kliencie podczas wysyłania rozszerzenia key_share

CVE-2019-13272HIGH7.8⚠ KEVten sam produkt

In the Linux kernel before 5.1.17, ptrace_link in kernel/ptrace.c mishandles the recording of the credentials ...

CVE-2022-45061HIGH7.5ten sam produkt

An issue was discovered in Python before 3.11.1. An unnecessary quadratic algorithm exists in one path when pr...

CVE-2021-3999HIGH7.8ten sam produkt

A flaw was found in glibc. An off-by-one buffer overflow and underflow in getcwd() may lead to memory corrupti...

CVE-2022-31097HIGH7.3ten sam produkt

Grafana is an open-source platform for monitoring and observability. Versions on the 8.x and 9.x branch prior ...