URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 119715
[ Назад ]

Исходное сообщение
"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."

Отправлено opennews , 06-Фев-20 10:32 
Разработчики серверной JavaScript-платформы Node.js опубликовали корректирующие выпуски 13.8.0, 12.15.0 и 10.19.0, в которых устранены три уязвимости:...

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


Содержание

Сообщения в этом обсуждении
"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 10:32 
Самую опасную уязвимость не убрали: .js

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 10:41 
Толсто

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено псевдонимус , 06-Фев-20 11:42 
Зато правда.

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 12:26 
нет

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 11:06 
> TLS-сервера

А что, нода ещё и сама себе https? Я как-то привык считать, что такое ПО живёт за nginx/haproxy/varnish/whateverelse.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 06-Фев-20 11:18 
> А что, нода ещё и сама себе https?

внезапно!

> Я как-то привык считать, что такое ПО живёт за nginx/haproxy/varnish/whateverelse.

а они к нему обращаются исключительно через /dev/astral ?
Малыш, ты уже почти взрослый, и тебе пора знать правду - Дед Морозом был наш сосед, сантехник дядя Вася. Поэтому не пришел в этот новый год он не потому, что не было зимы, а потому что помер от цирроза еще в апреле.

P.S. хуже что она же сама себе еще и веб-клиент. С совершеннейшим п-цом - начиная от прибитых гвоздем внутри и не позволяющих никак себя пооверрайдить единственно-верных CA (можно только полностью отключить вообще проверку валидности, разумеется, если код позволяет это делать), и заканчивая тем что 302 - это "фатальная ашибка".


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Антон , 06-Фев-20 11:22 
в чем проблема использовать из ноды более удобный веб-клиент? Если дефолтный не катит.

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено НяшМяш , 06-Фев-20 12:31 
Можно использовать любой веб-клиент. Однако они обычно писаны непонятно кем, самые популярные из них практически не поддерживаются и они наследуют проблемы собственно базового клиента из пакета ноды. Уже упоминали, что тот же 302 клиент по-умолчанию не держит - нужно писать самому обвязку. Потом внезапно оказывается, что и gzip-deflate нужно самому руками распаковывать. Потом оказывается, что для поддержки http2 тебе нужно использовать другой модуль - и сразу возникает проблема согласования, когда ты не знаешь какой протокол поддерживает хост. Опускаешься на уровень ниже, в сокеты, где вручную хукаешься на ивенты согласования, проверяешь версию протокола и передаешь сокет нужному модулю.

В итоге ты пишешь километры кода, который в 90% случаев работает на магии, плюёшь на всё и используешь какой-нибудь node-libcurl, который прекрасно хендлит все эти проблемы, а на стороне JSa тебе прилетает готовенький ответ. Если интересно, можно почитать обсуждение https://github.com/nodejs/node/issues/19393


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 06-Фев-20 12:34 
> магии, плюёшь на всё и используешь какой-нибудь node-libcurl, который прекрасно хендлит
> все эти проблемы, а на стороне JSa тебе прилетает готовенький ответ.

фак... а что, так было можно?!



"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено НяшМяш , 06-Фев-20 13:08 
> фак... а что, так было можно?!

Конечно, вот либа если что https://www.npmjs.com/package/node-libcurl Я собственно на неё переключился, когда в проекте появилось требование поддерживать FTP )


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 06-Фев-20 13:38 
>> фак... а что, так было можно?!
> Конечно, вот либа если что https://www.npmjs.com/package/node-libcurl Я собственно на
> неё переключился, когда в проекте появилось требование поддерживать FTP )

блин, теперь бы донести эту новость до "разработчиков" на nodejs :-( [бегло глянув примеры - мде, тут копипастой не отделаться, тут надо здоровенные куски кода переделывать]

Я-то наивно думал, что они этой хренью пользуются с горя, потому что curl им недоступен, а он, оказывается, в одном клике лежал.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено НяшМяш , 06-Фев-20 15:14 
> блин, теперь бы донести эту новость до "разработчиков" на nodejs :-( [бегло
> глянув примеры - мде, тут копипастой не отделаться, тут надо здоровенные
> куски кода переделывать]

Ну если программисты заранее не подумали написать обёртку над внешней библиотекой - тогда будет весело. Мой опыт в ноде подсказывает, что оборачивать нужно любой не твой код - никогда не знаешь что случится с библиотекой завтра (особенно в нодежс мире) или как могут поменяться требования. Я вот в проекте только один файл перелопатил при внедрении этой либы - зато выкинул сразу половину кодовой базы )

> Я-то наивно думал, что они этой хренью пользуются с горя, потому что
> curl им недоступен, а он, оказывается, в одном клике лежал.

Раньше с нативными либами было хуже - у ноды не было стабилизированного апи и они частенько ломались. Сейчас уже нет особых проблем обернуть что угодно в нодовую библиотеку и использовать. Тем более, что в самых последних версиях уже и WebAssembly завозят.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Анон Анонов , 07-Фев-20 00:23 
Типичный комментатор опеннета. Вместо того, чтобы читать документацию и искать нормальные модули, он готов только изливать желчь на js.

> Однако они обычно писаны непонятно кем

Если вы не знаете популярных разработчиков на nodejs это ваши проблемы. Много разработчиков curl вы знаете?

> самые популярные из них практически не поддерживаются

Не поддерживается только `request` из популярных. А остальные - got, node-fetch, axios и т.д. вполне поддерживаюся, умеют обрабатывать и компрессию, и перенаправление. Если вам нужны формы, или вебсокеты, то это всё легко подключается отдельными модулями. Используете только то, что вам нужно и никакой магии.

Непонятно, только зачем я всё это пытаюсь объяснить анону, который первый раз в глаза js видит, и не разобравшись, пытается что то вразумительное делать.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено НяшМяш , 07-Фев-20 01:57 
> Типичный комментатор опеннета. Вместо того, чтобы читать документацию и искать нормальные модули, он готов только изливать желчь на js.

Типичное анонимовский триггер на ключевые слова в посте без осмысления самого поста. Попрошу всё-таки разлепить свои глазики и прочесть мой комментарий внимательно - в каком месте я собственно излил желчь на сам язык? А ещё я приложил ссылку, по которой ясно видно, что не только я один вижу проблему в NodeJS по части клиентских запросов.

> Если вы не знаете популярных разработчиков на nodejs это ваши проблемы. Много разработчиков curl вы знаете?

Популярные - это те, которые пишут вещи типа left-pad? В таком случае я таких не знаю, да и знать не хочу. И разработчиков libcurl я тоже не помню, но эта библиотека ещё ни разу не подвела меня ещё задолго до NodeJS. Воткнул node-libcurl, cама хендлит протоколы, сама распаковывает, сиди и данные собирай.

> Не поддерживается только `request` из популярных.

К чести сказать, есть форк request от создателей Postman. Однако пользоваться библиотекой (или её форком), из-за которой даже в стандартную либу ноды пришлось добавлять хаки (https://github.com/request/request/issues/3176), мне не очень хочется.

> axios

Это те ребята, которые 2 года игнорили сообщение об уязвимости (https://www.reddit.com/r/javascript/comments/cp5qhm/askjs_th.../) ? Юзал я эту либу на фронте, но на беке - чур меня.

> вполне поддерживаюся, умеют обрабатывать и компрессию, и перенаправление. Если вам нужны формы, или вебсокеты, то это всё легко подключается отдельными модулями. Используете только то, что вам нужно и никакой магии.

Всякие формы и вебсокеты это другая история, а мне с бекенда на бекенды надо запросы делать. Вот я хочу HTTP/2 из коробки - где оно в request, axios и node-fetch? Если найти либу, которая 1 и 2 версию умеет (например, fetch-h2) - то можно ужаснуться от той содомии, что творится в исходниках. Прямо переизобретение того же curl. Ну ладно, взял, подключил, используешь. А потом прилетает задача на добавление FTP - и приехали, бегом искать ещё одну либу и склеивать это всё во франкенштейна. Даже браузеры сто лет умеют это из коробки, а в ноде нужно обмазываться тонной библиотек ради простенького запроса в интернет.

Я вот пришёл из нативного мира и удивлён, что в 2020 году в ноде нельзя просто сделать универсальный сетевой запрос одним методом. А ещё я больше удивлён, что есть люди, которых устраивает качать малофункциональные либы непонятно от кого в мегабайты весом и они даже защищают такое положение вещей.

> Непонятно, только зачем я всё это пытаюсь объяснить анону, который первый раз в глаза js видит, и не разобравшись, пытается что то вразумительное делать.

Ух какой самокритичный анонимус попался. Свечку держал, за спиной стоял? Я хотя бы исходники да issues библиотек и ноды периодически просматриваю и вам рекомендую так делать.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Анон Анонов , 07-Фев-20 03:32 
> Я вот пришёл из нативного мира

Теперь всё понятно. Вы прост не привыкли к модульной системе. Можно написать библиотеку, которая будет из коробки поддерживать вообще все сетевые запросы. Вот только зачем? Вот вам надо, а другой сотне разработчиков не надо. Но при этом либа всё равно будет тянуть 90% ненужного им кода. Философия ноды как раз в модульности, вы по кирпичикам собираете то, что именно вам нужно.

> не только я один вижу проблему в NodeJS по части клиентских запросов

В issue по ссылке есть другая ссылка на документ, в котором чётко описаны проблемы потенциальной реализации fetch. В любом случае всегда можно взять любую другую реализацию.

> Вот я хочу HTTP/2 из коробки - где оно

Для http2 в ядре ноды есть модуль. Берите и используйте. Тем более стабилизировали уже давненько.

> Популярные - это те, которые пишут вещи типа left-pad?

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

> непонятно от кого в мегабайты весом и они даже защищают такое положение вещей

js реализации традиционно достаточно много весят, от этого никуда не деться. И писать огромные библиотеки-комбайны, которые делают всё, это тоже плохой подход. Есть ряд сильных разработчиков ноды, которые пишут неплохие модули, например, Синре Сорхус, tj головачук, Маттео Коллина и т.д.

--

Если вы не умеете на ноде прогать, зачем истерить тут в комментах, что в ноде всё плохо? Судя по описанной вами задаче вам реально проще тот же курл подключить, если вам нужно кучу протоколов поддерживать.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 07-Фев-20 11:29 
> Вот только зачем?

затем чтобы не зависеть от миллиона вложенных зависимостей, где-нибудь на стотысячной глубине подтягивающих leftpad.

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

да, потому что "какая-то истеричка" обрушила вам всю инфраструктуру, удалив совершенно ненужную примитивнейшую хрень на две строки, но понапиханную в зависимости миллиона модулей.

> Если вы не умеете на ноде прогать, зачем истерить тут в комментах, что в ноде всё плохо?

затем что я не могу, к сожалению, просто взять и перестрелять ее "разработчиков". И вынужден пользоваться продуктами их "труда", состоящими из копипасты копипиасты, потому что поляна, опачки - загажена, и конкурентов у 6ешплатного выкидыша нет и не будет уже.

И вот выясняется, между делом, что они могли бы, запросто, использовать для http нормальную библиотеку - но в первом же подвернувшемся им под пальцы вопросе на стековерфлоу - был пример "нативной" неработоспособной уже в трех сантиметрах от стола разработчика.

Вы надеетесь, при таком подходе, на любовь и обожание, что к продукту, что к его адептам?


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 11:40 
Можно, для работы за корп прокси, но не все сторонние библиотеки это поддерживают

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 11:50 
Ну как это нельзя?

На конкретный запрос есть опция ca, глобально есть переменная среды NODE_EXTRA_CA_CERTS


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 06-Фев-20 11:58 
> Ну как это нельзя?
> На конкретный запрос есть опция ca, глобально есть переменная среды NODE_EXTRA_CA_CERTS

нету. Уже несколько лет как макаки все это поломали нахрен, и никто толком не знает, в каком месте сломано:
https://github.com/electron/electron/issues/10257 - типикал стори.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 21:02 
> а они к нему обращаются исключительно через /dev/astral

Есть несколько вариантов для обмена данными между фронтендом и бэкендом, шифрование трафика между ними - это нонсенс.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено сам , 06-Фев-20 22:59 
> С совершеннейшим п-цом - начиная от прибитых гвоздем внутри и не позволяющих никак себя
> пооверрайдить единственно-верных CA (можно только полностью отключить вообще проверку
> валидности, разумеется, если код позволяет это делать)

Странно. И как же в моём проекте до этого откровения без особых проблем корректно валидировались и, собственно, продолжают валидироваться сертификаты от внутреннего CA...


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Антон , 06-Фев-20 11:21 
живет.
А так ssl в ноде юзаем ток в дев моде. Чтобы у себя не лепить прокси лишние.

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 06-Фев-20 12:00 
> А так ssl в ноде юзаем ток в дев моде. Чтобы у

а когда таки надо проверить валидность сертификата?
Забиваете хрен?


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 14:26 
В деве не нужно проверять сертификат или ты думаешь парень за соседним столом внедрил свой серт и слушает дев трафик?))))

Да даже если он так делает значит так надо может он кул кацкер. На проде там все закрыто совсем не нодой.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 07-Фев-20 11:30 
а, блин, не так понял - то есть дальше тестовых схем у вас это чудо и не смотрит.

> На проде там все закрыто совсем не нодой.

и тут мы узнаем, что она не умеет http redirect...


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено псевдонимус , 06-Фев-20 11:41 
Чтобы устранить уязвимость в яваскрипт, нужно сперва устранить явпскрипт. Полумеры не работают. Гори в аду, Айк.

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено нах. , 06-Фев-20 13:16 
> С какой целью интересуешься, кодераст?

макаке сегодня обидно было!


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено псевдонимус , 06-Фев-20 13:24 
Ничего. Он сполна выместит свою ненависть на неизвестных ему рандомных человеках.

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено Аноним , 06-Фев-20 14:21 
Теперь электрон станет работать быстрее?

"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено псевдонимус , 06-Фев-20 14:28 
> Теперь электрон станет работать быстрее?

Станет. На серверах груснокомпаний. На локальных компвх станет тормозить ещё больше, в этом- то и причина впопулярности.


"Новые выпуски Node.js 13.8, 12.15 и 10.19 с устранением уязв..."
Отправлено анонище , 06-Фев-20 18:36 
>Теперь электрон станет работать быстрее?

Нет, сынок, теперь оперативки надо докупить и проц новый.