В 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. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.