В NPM бяха открити три уязвимости, които са коригирани в NPM 6.13.4

Разработчици които отговарят за проекта от мениджъра на пакети NPM, освободен наскоро освободен коригираща актуализация на NPM 6.13.4 включени в доставката на Node.js и използвани за разпространение на модули на JavaScript.

Тази нова корективна версия на мениджъра беше стартиран с цел да се решат три уязвимости които позволяват произволни системни файлове да бъдат модифицирани или презаписани при инсталиране на пакет, изготвен от нападател.

CVE-2019 16775-

Тази уязвимост засяга NPM CLI версиите преди 6.13.3, добре си те са уязвими за произволно писане на файлове. Пакетите могат да създават символични връзки към файлове извън папката модули_възел през полето за кош след инсталация.

Правилно конструиран запис в полето bin package.json ще позволи на редактора на пакети да създаде символна връзка, сочеща към произволни файлове в системата на потребителя, когато пакетът е инсталиран. Това поведение все още е възможно чрез инсталационни скриптове.

CVE-2019 16776-

В тази уязвимост Версиите на NPM CLI преди 6.13.3 са засегнати от произволно писане на файлове. Тъй като не можете да предотвратите достъпа до папки извън предвидената папка node_modules през полето bin.

Правилно конструираният запис в полето bin package.json ще позволи на редактора на пакети да променя и осъществява достъп до произволни файлове в системата на потребителя, когато пакетът е инсталиран. Това поведение все още е възможно чрез инсталационни скриптове.

Пътеки с „/../“ бяха разрешени в полето за кошче

CVE-2019 16777-

И накрая, Версиите на NPM CLI преди 6.13.4 са уязвими в тази уязвимост към произволно презаписване на файл. Тъй като не можете да попречите на други двоични файлове да презапишат съществуващите глобално инсталирани двоични файлове.

Например ако пакетът е инсталиран глобално и е създаден двоичен файл на услуга, всяка следваща инсталация пакети, които също създават двоична услуга ще замени старата двоична услуга. Това поведение все още е разрешено на локални инсталации, а също и чрез инсталационни скриптове.

Можете да замените файлове само в целевата директория, където са инсталирани изпълнимите файлове (обикновено / usr, / local, / bin).

Въпреки че важен фактор за тези уязвимости е, че човекът, който иска да използва тези недостатъци, ще трябва да накара жертвата си да инсталира пакета със специално проектирания запис в кошчето. Както обаче видяхме в миналото, това не е непреодолима бариера.

Екипът за сигурност в npm, Inc. сканира системния регистър за примери за тази атака и не е намерил пакети, публикувани в системния регистър с този експлойт. Това не гарантира, че не е използвано, но означава, че в момента не се използва в пакети, публикувани в системния регистър.

Ще продължим да наблюдаваме и да предприемаме стъпки за предотвратяване на лошите участници да използват тази уязвимост в бъдеще. Не можем обаче да сканираме всички възможни източници за npm пакети (частни регистри, огледални сървъри, git хранилища и т.н.), така че е важно да актуализирате възможно най-скоро.

Отстраняване на неизправности

Като основно решение се препоръчва да актуализирате до новата коригираща версия, тъй като библиотеките за синтактичен анализ на package.json, използвани в NPM v6.13.3, бяха актуализирани по начин, който да дезинфекцира и валидира всички записи в полето за кошче, за да премахне наклонените черти напред инициали, записи в маршрута и други средства за бягство от маршрута, използвайки добре тестваната и високо надеждна помощна програма за маршрути, вградена в Node.js.

Макар, като заобиколно решение, той може да бъде инсталиран с опцията –Игнориране на скриптове, който забранява изпълнението на вградени пакети с драйвери.

Без повече шум, ако искате да научите повече за грешките, можете да проверите подробностите в блога на npm В следващия линк.

И накрая, за тези, които искат да инсталират новата версия, те могат да го направят от официални канали или като изберат да компилират от изходния код. За това можете да следвате инструкциите в следната връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.