The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн загрузок в неделю"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн загрузок в неделю"  +/
Сообщение от opennews (??), 02-Сен-21, 22:52 
В NPM-пакете pac-resolver, насчитывающем более 3 млн загрузок в неделю, выявлена уязвимость (CVE-2021-23406), которая позволяет добиться выполнения своего JavaScript-кода в контексте приложения при отправке HTTP-запросов из Node.js-проектов, поддерживающих функцию автонастройки прокси-сервера...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=55728

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +4 +/
Сообщение от InuYasha (??), 02-Сен-21, 22:52 
По предварительным расчётам, за полгода уязвимость охватывает всё население Мидгарда )
Ответить | Правка | Наверх | Cообщить модератору

2. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +10 +/
Сообщение от Аноним (2), 02-Сен-21, 22:53 
Надоже, даже без работы с памятью. Кто бы сомневался. Толи ещё Rust ожидает.
Ответить | Правка | Наверх | Cообщить модератору

7. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +3 +/
Сообщение от Ordu (ok), 03-Сен-21, 00:26 
> Надоже, даже без работы с памятью.

Зато с eval'ом.

Ответить | Правка | Наверх | Cообщить модератору

34. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от Аноним (34), 03-Сен-21, 11:57 
Просто был бы дырявый софт на Rust. Те же яйца только в профиль и большим количеством разных скобочек [{(<.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

3. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (2), 02-Сен-21, 22:55 
> Проблема устранена в выпуске pac-resolver 5.0.0, который переведён на использование библиотеки vm2, предоставляющей уровень изоляции для запуска не заслуживающего доверие кода.

Эта проблема решается выкидыванием всех этих NPM и им подобных каргоф. ДНК конечно поврежденно навсегда, но есть благотварительные организации которые таких хотябы изолируют.

Ответить | Правка | Наверх | Cообщить модератору

4. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –1 +/
Сообщение от Аноним (4), 02-Сен-21, 23:03 
Я правильно тебя понял, ты предлагаешь писать код без библиотек вообще? Или у тебя есть гарантия того, что та либа, которую ты взял без некоторого менеджера зависимостей, неуязвима?
Ответить | Правка | Наверх | Cообщить модератору

5. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +3 +/
Сообщение от Аноним (5), 02-Сен-21, 23:30 
> писать код без библиотек вообще?

Сейчас библиотеки такие, что сложность написания кода без них гораздо ниже, чем использовать их.

Ответить | Правка | Наверх | Cообщить модератору

10. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +7 +/
Сообщение от Аноним (10), 03-Сен-21, 01:12 
Сразу видно, что ничего сложнее hello world в жизни не писал.
Ответить | Правка | Наверх | Cообщить модератору

15. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +2 +/
Сообщение от Ag (ok), 03-Сен-21, 07:50 
Хм, "hello, world" без библиотеки ввода-вывода.. ну это только на Assembler-е. И чур (на x86) без ф-ций BIOS.
Ответить | Правка | Наверх | Cообщить модератору

35. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от andy (??), 03-Сен-21, 11:57 
> Хм, "hello, world" без библиотеки ввода-вывода.. ну это только на Assembler-е. И чур (на x86) без > ф-ций BIOS.

В современных, многозадачных, операционных системах, Вам не дадут из защищенного режима вызывать функции BIOS. К примеру, в Linux'е, вам следует воспользоваться int80h для x86, либо вызовом syscall для x86-64.
https://packagecloud.io/blog/the-definitive-guide-to-linux-s...

Ответить | Правка | Наверх | Cообщить модератору

17. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +3 +/
Сообщение от Аноним (4), 03-Сен-21, 08:02 
И ты гарантируешь отсутсвие уязвимостей в этом своем коде без библиотек?
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

49. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (49), 04-Сен-21, 18:08 
Не в ту сторону воюете
Против библиотек никто не выступал
И есть разница между уникальной уязвимостью одного проекта и массовой
Ответить | Правка | Наверх | Cообщить модератору

21. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –1 +/
Сообщение от And (??), 03-Сен-21, 08:25 
> Я правильно тебя понял, ты предлагаешь писать код без библиотек вообще? Или у тебя есть гарантия того, что та либа, которую ты взял без некоторого менеджера зависимостей, неуязвима?

Авторы изделий на JS и для JS, к сожалению, биологически повреждены и любой результат их попыток их труда опасен низким качеством.

Что с библиотеками, что без библиотек... JS - это как Жигули - на вид приемлемо, в эксплуатации - есть много людей, которые обучены производить несравненно более качественные в применении продукты жизнедеятельности.

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

33. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (4), 03-Сен-21, 10:32 
В изначальном сообщении написано следующее

> проблема решается выкидыванием всех этих NPM и им подобных каргоф

Под "подобные карги" попадают так же всякие maven, cpan, conan и прочее выполняющее управление зависимостями. Сообщение анона говорит, что это не нужно, тогда библиотеками нужно рулить руками или не использовать библиотеки. Но разве от того, что библиотека завезена в проект руками, появляется больше гарантии на отсутсвие уязвимости в них? Или появляется больше гарантии, что в твоем велосипеде этих уязвимостей нет?

Ответить | Правка | Наверх | Cообщить модератору

19. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (19), 03-Сен-21, 08:06 
Жаль что тебя не изолировали
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

26. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Ненавижу SJW (?), 03-Сен-21, 09:13 
Ага-ага. Ты и сам не юзаешь сторонние библиотеки или только советуешь?
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

50. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (49), 04-Сен-21, 18:09 
Там было хоть слово против библиотек?
Ответить | Правка | Наверх | Cообщить модератору

6. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +2 +/
Сообщение от бедный буратино (ok), 03-Сен-21, 00:18 
Всегда такое было, и вот опять.
Ответить | Правка | Наверх | Cообщить модератору

8. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +2 +/
Сообщение от Dzen Python (ok), 03-Сен-21, 00:36 
Вау! В eval-языке нашли "уязвимость" - он может исполнить код, пришедший как данные!
Ответить | Правка | Наверх | Cообщить модератору

11. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от Аноньимъ (ok), 03-Сен-21, 01:13 
Кому-то показалось хорошей идеей автоматически выполнять код пришедший как данные из случайного источника.
Ответить | Правка | Наверх | Cообщить модератору

51. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от Аноним (49), 04-Сен-21, 18:11 
Их сейчас с js на rust переучивают ускоренно, чтоб в ядро коммитили
Ответить | Правка | Наверх | Cообщить модератору

9. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноньимъ (ok), 03-Сен-21, 01:12 
>Указанный API явно помечен в документации как не предназначенный для запуска кода, не заслуживающего доверия, так как он не предоставляет полноценной изоляции запускаемого кода и позволяет получить доступ к изначальному контексту. Проблема устранена в выпуске pac-resolver 5.0.0, который переведён на использование библиотеки vm2, предоставляющей более высокий уровень изоляции, подходящий для запуска не заслуживающего доверия кода.

Я правильно понимаю, что проблему устранили указанием в документации что API теперь предназначено для запуска не заслуживающего доверия кода?

>PAC-файл содержит обычный JavaScript-код с функцией FindProxyForURL, определяющей логику выбора прокси в зависимости от хоста и запрашиваемого URL. Суть уязвимости в том, что для выполнения данного JavaScript-кода в pac-resolver применялся предоставляемый в Node.js API

Чего блин?
Загружать хрен пойми откуда код и выполнять его У СЕБЯ НА СЕРВЕРЕ/приложении чтобы настроить прокси?
Что происходит?
Что это за нафиг такой?
Остановите это немедленно!

Ответить | Правка | Наверх | Cообщить модератору

32. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от пох. (?), 03-Сен-21, 10:12 
> Загружать хрен пойми откуда код и выполнять его У СЕБЯ НА СЕРВЕРЕ/приложении чтобы настроить прокси?
> Что происходит?

обычная настройка wpad происходит. Стандарт netscape 1996го года. Платформенно независимое решение чтоб не бегать всем юзверькам не настраивать вручную.

wpad.dat - таки да, содержит js код. Предназначен для выполнения _браузером_ , который вообще рассчитан на выполнение непойми откуда кодов.

Попутно у одной корпорации зла есть в dns-сервере интересный костылик, не позволяющий первому попавшемуся васяну раздать по всей твоей организации такой файлик. Но то ж корпорация, зла. А в твоем любимом systemd-allshitd - нету костылика. Весь мусор с пола - сразу в рот.

Ответить | Правка | Наверх | Cообщить модератору

40. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –1 +/
Сообщение от Аноньимъ (ok), 03-Сен-21, 18:03 
>обычная настройка wpad происходит.
>wpad

Сжечь.

>wpad.dat - таки да, содержит js код. Предназначен для выполнения _браузером_ , который вообще рассчитан на выполнение непойми откуда кодов.

Там есть какое-то оправдание хотя бы для того чтобы вместо настроек прокси выдавать жс код?

Ответить | Правка | Наверх | Cообщить модератору

42. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от пох. (?), 03-Сен-21, 19:12 
Ты тоже разработчик, что-ли? Пойти и прочитать документацию - не?

Код возвращает настройку прокси - отдельно для каждого возможного и невозможного урла, потому что, внезапно, они могут отличаться для разных адресов. Расскажи мне, как это сделать универсальным образом без скриптов?

И дальше - о ужас, вообще сайт откроется! Вполне возможно - в ИНТЕРНЕТЕ! Который тоже может выполнить в твоем браузере - код!

Разница в том, что модные-современные веб-макакеры притащили технологию, предназначенную для исполнения исключительно браузером (где этот код был тщательно ограничен в возможностях что-то пощупать вне браузера) - в саму систему. Поскольку изучить языки отличные от js уже были не в силах.

А набор ограничений оставили по дороге - потому что нахрен бы был такой код не нужен никому (вспомним жаба-аплеты которые ничего толком не умели делать именно потому что ничего и не могли)

Теперь вот - костылят подпорки уже на самом js. Получается не всегда.

Ответить | Правка | Наверх | Cообщить модератору

44. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноньимъ (ok), 03-Сен-21, 19:31 
> Код возвращает настройку прокси - отдельно для каждого возможного и невозможного урла,
> потому что, внезапно, они могут отличаться для разных адресов. Расскажи мне,
> как это сделать универсальным образом без скриптов?

А как это делает этот скрипт?
Просто списка с фильтром по регуляркам недостаточно?

>И дальше - о ужас, вообще сайт откроется! Вполне возможно - в ИНТЕРНЕТЕ! Который тоже может выполнить в твоем браузере - код!

Этот код как бы обычно остаётся в песочнице бравзера и не изменяет настройки бравзера.
Тоже скотство конечно.

Ответить | Правка | Наверх | Cообщить модератору

48. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от another_one (ok), 04-Сен-21, 09:45 
> Я правильно понимаю, что проблему устранили указанием в документации что API теперь предназначено для запуска не заслуживающего доверия кода?

В документации было и осталось предупреждение, что не через vm нельзя запускать недоверенный код. А проблему устранили переводом pac-resolver на стороннюю либу vm2, в которой крайне огороженная песочница с ограниченным доступом к текущему runtime.

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

14. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от Аноним (14), 03-Сен-21, 05:11 
Ура!!! 3 миллиона уязвимостей по всему миру!
Ответить | Правка | Наверх | Cообщить модератору

16. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Какаянахренразница (ok), 03-Сен-21, 07:54 
Да не может такого быть!
Ответить | Правка | Наверх | Cообщить модератору

18. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –1 +/
Сообщение от And (??), 03-Сен-21, 08:04 
> Указанный API явно помечен в документации как не предназначенный для запуска кода, не заслуживающего доверия, так как он не предоставляет полноценной изоляции запускаемого кода и позволяет получить доступ к изначальному контексту.

Красивая халтура. (Такое не публикуют, или код плохой. Это тот признак, по которому 3 млн. загрузок в неделю не справляются с правильным долгосрочным выбором технологии.)

Ответить | Правка | Наверх | Cообщить модератору

20. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –3 +/
Сообщение от Аноним (20), 03-Сен-21, 08:25 
Неужели Node.js всё еще кто-то использует?
Ответить | Правка | Наверх | Cообщить модератору

22. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –4 +/
Сообщение от Аноним (-), 03-Сен-21, 08:34 
Технологии на базе Жабасрипта рулят.
Ответить | Правка | Наверх | Cообщить модератору

23. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (5), 03-Сен-21, 08:34 
Да, ёжики.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

30. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от Node js (?), 03-Сен-21, 10:00 
Дурак! Это я вас пользую!
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

24. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (24), 03-Сен-21, 08:57 
Зачем 3 млн юзеров в неделю парсят PAC файлы?
Ответить | Правка | Наверх | Cообщить модератору

25. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от Аноним (25), 03-Сен-21, 09:04 
Это автоматические загрузки по дереву нпм-зависимостей. Юзеры даже не в курсе.
Ответить | Правка | Наверх | Cообщить модератору

29. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от anonymous (??), 03-Сен-21, 09:40 
Воистину по дереву.
Ответить | Правка | Наверх | Cообщить модератору

28. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –1 +/
Сообщение от 1 (??), 03-Сен-21, 09:37 
leftpad ... такой leftpad
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

31. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Node js (?), 03-Сен-21, 10:02 
> Зачем 3 млн юзеров в неделю парсят PAC файлы?

а кто их спрашивал-то?!

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

39. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноньимъ (ok), 03-Сен-21, 15:02 
>> Зачем 3 млн юзеров в неделю парсят PAC файлы?
> а кто их спрашивал-то?!

Подробности интересны.

Какие конкретно либы и для чего.

Ответить | Правка | Наверх | Cообщить модератору

36. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (34), 03-Сен-21, 11:58 
Можно подумать в этом вашем Пэйтоунэ не так же.
Ответить | Правка | Наверх | Cообщить модератору

37. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +2 +/
Сообщение от Какаянахренразница (ok), 03-Сен-21, 12:07 
Слабенькая отмазка.
Ответить | Правка | Наверх | Cообщить модератору

38. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  –1 +/
Сообщение от Алексей (??), 03-Сен-21, 14:16 
> PAC-файл содержит обычный JavaScript-код

Это по определению "программа из одной строки на Perl", то есть JavaScript. Ровно с теми же последствиями. Только тут не нужно дурака перед клавиатурой, браузер скачает и запустит автоматически. Какая прелесть.


Ответить | Правка | Наверх | Cообщить модератору

52. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (49), 04-Сен-21, 18:20 
Не понял, но осуждаю?

Браузер как и пользователь вообще не причем
Выполняет nodejs, само
Потому что взяли кусок браузерной технологии, где оно к месту и всё хорошо, и вкорячили на сервер, где оно дырка

Ответить | Правка | Наверх | Cообщить модератору

41. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (41), 03-Сен-21, 18:21 
Нужен meta npm с рейтингом модулей. За уязвимости рейтинг само собой снижать.
Ответить | Правка | Наверх | Cообщить модератору

43. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от пох. (?), 03-Сен-21, 19:14 
> Нужен meta npm с рейтингом модулей. За уязвимости рейтинг само собой снижать.

повышать же ж! Кто не сидел тот не паца...ой, простите, окошком ошибся. В ком не нашли еще увизгвимостей - тот значит 100% ненужное ненужно!

Ответить | Правка | Наверх | Cообщить модератору

45. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +/
Сообщение от Аноним (45), 03-Сен-21, 19:49 
кто сказал, что это уязвимость?
Ответить | Правка | Наверх | Cообщить модератору

47. "Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн за..."  +1 +/
Сообщение от Онаним (?), 03-Сен-21, 23:41 
Любителей тянуть в рот всё свеженькое из непонятных источников опять поимели. Впрочем, так им и надо.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру