The OpenNET Project / Index page

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

Уязвимости в Node.js и libuv

16.02.2024 20:14

Доступны корректирующие выпуски JavaScript-платформы Node.js 21.6.2, 20.11.1, 18.19.1, в которых исправлено 8 уязвимостей, из которых 4 присвоен высокий уровень опасности:

  • CVE-2024-21892 - возможность подстановки непривилегированным пользователем кода, наследующего расширенные привилегии, с которыми выполняется рабочий процесс. Уязвимость вызвана ошибкой в реализации исключения, позволяющего в процессе с расширенными привилегиями обрабатывать переменные окружения, выставленные непривилегированным пользователем. Исключение должно было предоставляться только для полномочий CAP_NET_BIND_SERVICE, но из-за ошибки применялось и к некоторым другими полномочиям (capabilities).
  • CVE-2024-22019 - отказ в обслуживании через исчерпание доступных ресурсов (нагрузка на CPU и расходование пропускной способности) при обработке встроенным HTTP-сервером специально оформленных chunked-запросов, приводящих к чтению неограниченное количества байтов в одном соединении.
  • CVE-2024-21896 - выход за границу базового каталога в файловых путях. Уязвимость позволяет обойти нормализации файловых путей при помощи path.resolve() в случае передачи пути с использованием класса Buffer. Для получения подобного пути после проверки вызывается метод Buffer.from(), но в приложении может использоваться вызов Buffer.prototype.utf8Write, приводящий к замене содержимого на стадии после выполнения path.resolve() и возникновению уязвимости.
  • CVE-2024-22017 - вызов setuid() не сбрасывал все привилегии. В частности, setuid() не влияет на операции io_uring, используемые в libuv, если они были инициализированы до вызова setuid().
  • CVE-2023-46809 - уязвимость в API privateDecrypt(), допускающая применение атаки Marvin для расшифровки RSA на основе измерения времени операций.
  • CVE-2024-21891 - возможность обхода модели прав доступа при использовании пользовательских обработчиков нормализации файловых путей.
  • CVE-2024-21890 - некорректная обработка масок в параметрах "--allow-fs-read" и "--allow-fs-write". Например, "--allow-fs-read=/home/node/.ssh/*.pub" приведёт предоставлению доступа ко всему содержимому ".ssh/", а не только к файлам с расширением ".pub", так как маска "*" обрабатывается как последний элемент пути.
  • CVE-2024-22025 - отказ в обслуживании через израсходование ресурсов при декодировании сжатых данных в формате Brotli, полученных через вызов fetch().

Дополнительно можно отметить формирование выпуска библиотеки libuv 1.48.0, применяемой в Node.js для мультиплексирования соединений и асинхронной обработки ввода/вывода. Кроме Node.js библиотека также используется DNS-серверах BIND 9 и Knot DNS, HTTP-сервере H2O, Lua-фреймворке Luvit, виртуальной машине MoarVM, языке Julia и Python-фреймворке uvloop. В новой версии устранена уязвимость (CVE-2024-24806), проявляющаяся в проектах, использующих libuv, и позволяющая осуществить атаку SSRF (Server-side request forgery) для получения доступа к внутреннему API. Уязвимость возникла из-за обрезания имени хоста функцией uv_getaddrinfo() до 256 символов на этапе до резолвинга домена через функцию getaddrinfo(), что может привести к определению не того IP-адреса и обходу проверок. Например, сервисы типа MySpace, создающие поддомены вида "username.example.com", можно атаковать через указание длинного имени пользователя.

Также вышло обновление используемого в Node.js HTTP-клиента undici 5.28.3, в котором устранена уязвимость (CVE-2024-24758), вызванная отсутствием очистки HTTP-заголовка Proxy-Authorization при перенаправлении запросов.

  1. Главная ссылка к новости (https://nodejs.org/en/blog/rel...)
  2. OpenNews: Доступна JavaScript-платформа Node.js 21.0
  3. OpenNews: Доступна серверная JavaScript-платформа Bun 1.0, более быстрая, чем Deno и Node.js
  4. OpenNews: Атака на Node.js через манипуляции с прототипами объектов JavaScript
  5. OpenNews: Выпуск библиотеки libuv 1.45.0 с поддержкой подсистемы io_uring
  6. OpenNews: Автор Node.js представил защищённую JavaScript-платформу Deno 1.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60612-node.js
Ключевые слова: node.js, libuv
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.24, vvm13 (ok), 00:08, 17/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Эта платформа такая же "серверная", как Java или Python. Да, так сложилось, что отдельно node.js используют в основном для серверов, но ведь никто не заставляет. И хотя у Java для GUI есть что-то в комплекте JDK, но JavaFX надо качать отдельно, у Python'а надо тоже что-то отдельно качать, то и у node.js похожая ситуация (используют не набор библиотек, а модифицированный Хромиум, а вместе это называется Electron).
     
     
  • 2.25, Аноним (25), 01:06, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Эксперды уже не понимают что такое хромиум, V8 и электрон
     
  • 2.26, мяя (?), 01:39, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вам пора на переобучение/переподготовку.
     
     
  • 3.27, Аноним (27), 02:07, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А в чем он не прав? А вот к экспертам вопросы? Зачем шуметь без аргументов
     
     
  • 4.58, мяя (?), 21:45, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У него каша в голове и не приведённый в порядок поток сознания.
    Он пытается сказать что nodejs это словно гуёвая/клиентская платформа исходно.
    Зачем-то для веса попытался приплести Java и Python и сам же показал как это притянуто за уши выглядит.
    Конечно эти языки плохи для хайлоад серверов, но это можно было сказать адекватно, а не так.

    Хуже всего это вот эта строчка:
    > (используют не набор библиотек, а модифицированный Хромиум, а вместе это называется Electron).

    Для введения, node.js это не язык, это по большей части инфраструктура (можно читать как стандартная библиотека и некоторые низкоуровневые примитивы) вокруг движка V8 (исходно является реализацией языка JavaScript в обозревателе Chrome/Chromium).
    Родился он отдельно от электрона (нода 2009, электрон 2013), это ноду в электрон для возможностей добавили по примеру NW.js (который к слову исходно основывался на CEF), потому что API браузера не расчитаны на программирование полноценного приложения.

     
  • 2.33, Golangdev (?), 05:19, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > отдельно node.js используют в основном для серверов

    Не только. Ещё исполбзуют как запускалку сборщика (Webpack, Vite.js), когда собирают  фронтенд.

     
  • 2.34, Golangdev (?), 05:23, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > у Java для GUI есть что-то в комплекте JDK, но JavaFX надо качать отдельно

    Да, что-то действительно есть. И JavaFX можно не качать.

     
  • 2.41, Бывалый Смузихлёб (??), 13:04, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нода сама по себе весьма удобна как очень гибкая запускалка разных скриптов почти на любой случай жизни

    Жаба в этом смысле очень громоздкая
    На питоне - раньше без махинаций было не поднять сервак который бы норм работал постоянно и подобно ноде был событийно-ориентированным. А не как пых - с нуля запускался на каждый запрос

     
     
  • 3.59, Пряник (?), 17:09, 19/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Twised с 2002 года существует.
     

  • 1.28, Вы забыли заполнить поле Name (?), 03:38, 17/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Вот тебе бабушка и джаваскрипт.
     
  • 1.32, Роман (??), 05:07, 17/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кто специалист, откуда у nodejs elevated privileges возьмутся? обычный процесс под обычным юзером

    > On Linux, Node.js ignores certain environment variables if those may have been set by an unprivileged user while the process is running with elevated privileges with the only exception of CAP_NET_BIND_SERVICE. Due to a bug in the implementation of this exception, Node.js incorrectly applies this exception even when certain other capabilities have been set. This allows unprivileged users to inject code that inherits the process's elevated privileges.

     
     
  • 2.38, Аноним (38), 13:01, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хакер в столовой....
     
  • 2.43, похъ (?), 13:28, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а как вот ты думаешь - у программ на единственноверных сях  - откуда привиллегии берутся?

    Вот с нодой - все то же самое. Это просто еще один нескучный язык программирования.

     
     
  • 3.47, Роман (??), 06:37, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    нода в 99% случаев (я видел что на ноде пишут, скажем так, скрипты общего назначения, а не веб сервисы) сидит в докере с его port mappings, либо работает как вебсервис [без нужды в биндингах на порты ниже 1024] за прокси, еще и желательно с набором плюшек вида

    SystemCallFilter=@system-service
    SystemCallErrorNumber=EPERM
    LockPersonality=yes
    NoNewPrivileges=yes
    PrivateTmp=yes
    ProtectProc=invisible


    и т.д. сверху. Добавляются еще ReadOnlyPaths, ReadWritePaths по вкусу.

     
     
  • 4.50, похъ (?), 09:14, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > нода в 99% случаев (я видел что на ноде пишут, скажем так,

    нет, это твой личный способ костылепердолинга.

    В большинстве случаев совершенно ненужный и вредный (потому что вы не умеете в swarm и в результате в докере у вас мини-операционная система, с костыльными заменами планировщику и иниту, которая чаще всего даже правильно останавливаться по docker stop не обучена)

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

    > и т.д. сверху. Добавляются еще ReadOnlyPaths, ReadWritePaths по вкусу.

    причем тут твоя любовь к пердолингу я не пойму?

    И что бы тебе и bin/ls не запускать так же, от него вреда может внезапно оказаться куда больше.

     
     
  • 5.52, Роман (??), 10:19, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> нода в 99% случаев (я видел что на ноде пишут, скажем так,
    > нет, это твой личный способ костылепердолинга.

    Сбавьте тон и тыканье, выглядит так себе.

    > В большинстве случаев совершенно ненужный и вредный (потому что вы не умеете
    > в swarm и в результате в докере у вас мини-операционная система,
    > с костыльными заменами планировщику и иниту, которая чаще всего даже правильно
    > останавливаться по docker stop не обучена)

    Вы тут что-то проецируете, рзверните мысль внятно.

    > И внезапно даже вебсервисам нужны фоновые процессы по крону или еще каким
    > способом, и чаще всего никто не потрудится специально для тебя писать
    > их на другом нескучном языке когда уже есть проект на ноде.

    Скрипты общего назначения, тут вы уловили верно, кроме момента про "ради меня".

    >> и т.д. сверху. Добавляются еще ReadOnlyPaths, ReadWritePaths по вкусу.
    > причем тут твоя любовь к пердолингу я не пойму?
    > И что бы тебе и bin/ls не запускать так же, от него
    > вреда может внезапно оказаться куда больше.

    Не уверен что вы сейчас все ещё про запуск сервисов, а не о чем то своём.

     

  • 1.35, iZEN (ok), 08:52, 17/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Спасибо за новость. Почистил от хлама: pkg autoremove удалила Node.js из системы. Пакет libuv-1.48.0 остался.
     
     
  • 2.39, похъ (?), 13:01, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    выколол себе глазыньки чтоб греха не видать? Молодец, наш кружок скопцов одобряэ!
     
  • 2.42, Бывалый Смузихлёб (??), 13:22, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Устанавливать ноду чтобы удалять ноду
    Похоже, у любителей бздей есть какая-то очень специфическая наклонность
     
     
  • 3.44, iZEN (ok), 13:38, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Устанавливать ноду чтобы удалять ноду

    Так ведь это build dependencies.

    > Похоже, у любителей бздей есть какая-то очень специфическая наклонность

    ...собирать пакеты из портов, да. Редкий линуксойд на это решится.

     
     
  • 4.45, похъ (?), 14:37, 17/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > ...собирать пакеты из портов, да. Редкий линуксойд на это решится.

    даром греть воздух а потом ныть что buld deps ужастные и небезопастные (ПОСЛЕ того как ты их запустил... от рута, я ведь правильно угадываю? на своем локалхосте)

    Да, такая феноменальная глупость даже им несвойственна.

     
     
  • 5.54, iZEN (ok), 13:14, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, такая феноменальная глупость даже им несвойственна.

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

    > даром греть воздух а потом ныть что buld deps ужастные и небезопастные

    Ох, уж эти страхи-то...

     
     
  • 6.56, похъ (?), 17:45, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как будто ты не надеешься и каждый мэйкфайл сам написал, а не от такого же дяди и получил.
    И не поназапускал неглядя все стопиццот этих файликов чтоб собрать один-единственный фуфлофокс, например.


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

    > Ох, уж эти страхи-то...

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

     
     
  • 7.57, iZEN (ok), 20:35, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну как будто ты не надеешься и каждый мэйкфайл сам написал, а
    > не от такого же дяди и получил.
    > И не поназапускал неглядя все стопиццот этих файликов чтоб собрать один-единственный фуфлофокс,
    > например.
    > И да, ненужных билд-зависимостей у них не бывает, они на билдхосте разработчиков
    > дистрибутива остались. А вернее даже и не оставались а удалились сразу
    > как скрипт отработал.
    >> Ох, уж эти страхи-то...
    > Ну и зачем ты тогда сам себе глазик-то выковырял?

    Сам придумал — сам объяснил. :)))

    > Через неделю обратно
    > все собирать (еще неделю) будешь ведь, когда выяснится что нода нужна
    > для сборки очень нужного тула без которого не собирается еще один
    > очень нужный тул без которого не собрать примитивную программку которая тебе
    > на самом-то деле нужна.

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

     
     
  • 8.62, похъ (?), 17:30, 19/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А если целевая поменяет - то, вот чудеса-то - ноду можно было бы не пересобирать... текст свёрнут, показать
     
     
  • 9.63, iZEN (ok), 14:54, 20/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А чего её греть node устанавливается пакетом из локального репозитория, если во... текст свёрнут, показать
     
  • 6.60, Пряник (?), 17:11, 19/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, тру-линуксоиды надеются на дядю-дистрибутора. Вот у него всё классно получается и зависимостей (почти) никаких ненужных, так ведь?
    > Ох, уж эти страхи-то...
     
  • 3.48, Роман (??), 06:43, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Устанавливать ноду чтобы удалять ноду
    > Похоже, у любителей бздей есть какая-то очень специфическая наклонность

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

    Из интересных наблюдений, товарищи из пользователей (и админов уж конечно) Фряхи, не понимают концепцию LTS.
    Один из немногих - Drew Gallatin, https://papers.freebsd.org/author/drew-gallatin/ - FreeBSD kernel hacker. Senior Software Engineer at Netflix Open Connect, focusing on performance - этот понял.

    > One the things I loved about Ubuntu LTS is the packages being essentially frozen, aside from security fixes. FreeBSD is a "rolling release" OS for 3rd party packages, even on stable branches. That's one of the reasons that I use the ubuntu LTS firefox ... I can apt-get update & apt-get upgrade just the web browser and its dependencies, rather than the 1700 unrelated packages that I'd need to update just to get the newest firefox.

    from https://news.ycombinator.com/item?id=38221063

    Остальные прекрасно себя чувствуют админя локалхост в дополнению к работе:
    > Не знаю как в генте, но у меня на FreeBSD это очень удобно сделано. Я просто запускаю таску POST запросом в Jenkins и через пару дней у меня будет свежый локальный репозиторий с нужнымы флагами. Процесс сам идёт, обычно даже не валится.

     
     
  • 4.49, похъ (?), 08:50, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Из интересных наблюдений, товарищи из пользователей (и админов уж конечно) Фряхи, не
    > понимают концепцию LTS.

    ну да, ну да - разделение на STABLE/CURRENT/RELENG - это ведь не за двадцать лет до ваших lts придумали?

    Ну да, это касается только базовой системы. Потому что у проекта НЕТ столько и настолько безумных волонтеров чтобы годами вручную выковыривать патчи поштучно и  мержить их (что не всегда легко) с устаревшим кодом. Им-то убунтоиды не заплатят.


    > Один из немногих - Drew Gallatin, https://papers.freebsd.org/author/drew-gallatin/
    > - FreeBSD kernel hacker. Senior Software Engineer at Netflix Open Connect,
    > focusing on performance - этот понял.

    ну есди это теперь кернел хаксоры такие и нетфликс их нанимает - п-да и проекту и нетфликсе.

    > browser and its dependencies, rather than the 1700 unrelated packages that I'd need to update just to
    > get the newest firefox.

    расскажите уже ему кто-нибудь, что можно не набирать make в корне дерева портов если обновить надо только фуфлофокс.

    И что как и в его любимой бубунточке он может вообще просто pkg install fuflofox без всякого компиляния - и нет, оно не обновит автоматически ничего кроме необходимого для запуска минимума (и иногда промажет и не обновит и необходимое тоже).

    Но если оно просто не собирается в принципе без наимоднявейших зависимостей - претензии авторам фуфлофокса не умеющим в совместимость.

    Кстати, убунточка решает эту проблему шнапом. И в дальнейшем собирается ее так решать с любым софтом сложнее cat

    > Остальные прекрасно себя чувствуют админя локалхост в дополнению к работе:

    вместо. Не думаю что у них есть работа.

     
     
  • 5.51, Роман (??), 10:09, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/

    > ну да, ну да - разделение на STABLE/CURRENT/RELENG - это ведь не
    > за двадцать лет до ваших lts придумали?
    > Ну да, это касается только базовой системы. Потому что у проекта НЕТ
    > столько и настолько безумных волонтеров чтобы годами вручную выковыривать патчи поштучно
    > и  мержить их (что не всегда легко) с устаревшим кодом.
    > Им-то убунтоиды не заплатят.

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

    >[оверквотинг удален]
    > И что как и в его любимой бубунточке он может вообще просто
    > pkg install fuflofox без всякого компиляния - и нет, оно не
    > обновит автоматически ничего кроме необходимого для запуска минимума (и иногда промажет
    > и не обновит и необходимое тоже).
    > Но если оно просто не собирается в принципе без наимоднявейших зависимостей -
    > претензии авторам фуфлофокса не умеющим в совместимость.
    > Кстати, убунточка решает эту проблему шнапом. И в дальнейшем собирается ее так
    > решать с любым софтом сложнее cat
    >> Остальные прекрасно себя чувствуют админя локалхост в дополнению к работе:
    > вместо. Не думаю что у них есть работа.

    Вполне есть:

    > fwiw I have a LinkedIn job alert set for any job with "FreeBSD". It produces on average 5 positions a week in the US

    Или вот https://it-notes.dragas.net/2023/03/14/how-we-are-migrating-many-of-our-server

     
     
  • 6.55, похъ (?), 13:22, 18/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Грусть в том что так и клиенты не заплатят, вроде не бездельники и могли бы жить.

    не могли бы - или надо было сразу выбирать что угодно но не платформу с открытым кодом free as in free beer.

    > Вполне есть:
    > fwiw I have a LinkedIn job alert set for any job with "FreeBSD". It produces on average 5 positions a week in the US

    то есть на ВСЕ US у него аж пять упоминаний (упоминаний! включая "опыт удаления фреелесде с диска - is a plus" - где-то в конце второй страницы после expert windows AD knowledge required и тому подобного, и то где-нибудь в Delaware) аж за НЕДЕЛЮ? (половина из них - одни и те же позиции открываемые хрюшей каждую неделю заново)

    Стесняюсь спросить - ты вообще пользовался когда-нибудь линкедином?

    > Или вот

    подвальная лавка с ЕДИНСТВЕННЫМ сервером где-то в почти-бесплатной помойке OVH? Вот это бизнес так бизнес.

    Знаешь, до того как слуцилась чтойта - у меня таких серверов (и у хостера поприличней) было аж три. И это все еще не было работой.


     
     
  • 7.64, Роман (??), 14:13, 23/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > то есть на ВСЕ US у него аж пять упоминаний

    Да, в районе раздела Фряхи на Реддите, в том срезе сообщества, при таких вводных - работа считается что есть.
    Лично для меня - очень интересно читать там местами.

    ----

    Отдельно, конечно, стоит упомянуть про отчёт за 3ий квартал от Фряхи - https://www.freebsd.org/status/report-2023-10-2023-12/ . Анонимным и не очень анонимным Экспертам стоит подготовиться и присесть:

    > The Open Container Initiative Technical Oversight Board voted in December to approve Doug Rabson’s proposal to create a Working Group to extend the OCI runtime specification to support FreeBSD. Huge thanks to all involved! An OCI runtime extension for FreeBSD is one of the most frequently requested capabilities and I was happy to play a small role in helping to coordinate this effort so far.

    и всадник апокалипсиса:

    > !WARNING] The FreeBSD port of the Podman container engine is experimental and should be used for evaluation and testing purposes only.

    Уверенным пользователям возможно стоит начинать подавать петиции.
    https://podman.io/docs/installation#installing-on-freebsd-140

     

  • 1.53, Tron is Whistling (?), 10:38, 18/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    - маска "*" обрабатывается как последний элемент пути
    Мда, вот тут сразу понимаешь, что где-то рядом жабоскрипт.
     
  • 1.61, Пряник (?), 17:14, 19/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Новость скорее про libuv. На nodejs пофиг. Особенно, когда Deno и Bun есть.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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