The OpenNET Project / Index page

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



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

"RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн загрузок в неделю"  +/
Сообщение от opennews (??), 11-Янв-23, 13:52 
В JavaScript-библиотеке JsonWebToken с реализацией технологии JSON Web Token (JWT)  выявлена уязвимость (CVE-2022-23529), позволяющая добиться удалённого выполнения кода при верификации специально оформленного JWT-запроса. За последнюю неделю библиотека была загружена из каталога NPM более 10 млн раз...

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

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

Оглавление

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


1. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –6 +/
Сообщение от Аноним (1), 11-Янв-23, 13:52 
> более 10 млн раз

Откуда такие цифры? В интернете реально столько много сайтов, что какая-то левая либа загружается милионы раз?

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

2. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +10 +/
Сообщение от Аноним (2), 11-Янв-23, 13:55 
Первый день в интернете? Или гуманитарий? Или  млао витаминов ел? Тебе бы поработать над собой с тобой явно что-то не так.

Заходишь на https://www.npmjs.com/package/jsonwebtoken графа Weekly downloads.

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

10. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +4 +/
Сообщение от Деанон (?), 11-Янв-23, 14:16 
Гуманитарии это фронтенд-верстальщики, не осилившие бэкенд.
Ответить | Правка | Наверх | Cообщить модератору

14. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Аноним (14), 11-Янв-23, 14:32 
node.js это бэкэнд.
JavaScript универсальный язык.
Ответить | Правка | Наверх | Cообщить модератору

28. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +2 +/
Сообщение от Деанон (?), 11-Янв-23, 15:44 
так я и говорю, что не осилили и сделали nodeJS
Ответить | Правка | Наверх | Cообщить модератору

9. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +2 +/
Сообщение от Деанон (?), 11-Янв-23, 14:15 
Это же вебмакаки. Там нельзя без обновлений и передёргиваний npm install и т.п. Каждая муха тянет за собой всю паутину в node_modules.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

31. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 11-Янв-23, 15:52 
Роботы грузят
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

41. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от rshadow (ok), 11-Янв-23, 17:10 
Например если не заморачиваться, и не подымать локальный реп. А просто при сборке в CI всегда качать пакеты заново. Все проекты поставившие его в зависимости будут на каждый чих программиста заново все собирать и качать.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

55. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от . (?), 11-Янв-23, 21:00 
> Откуда такие цифры?

Эта либа качается каждый раз при открытии сайтов, которые юзают эту либу.

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

4. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –1 +/
Сообщение от Аноним (2), 11-Янв-23, 13:58 
И тут как вы уже догадались никакой бы безопасный язык не помог. Зачем тогда ломать голову синтаксисом р**** когда можно на нём же словить точно такую же уязвимость? Но потратить в 10 раз больше времени на написание.
Ответить | Правка | Наверх | Cообщить модератору

58. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от амоним (?), 11-Янв-23, 21:59 
ну вроде, чтобы в расте передать хренпоймичто, вместо чего-то другого все же надо поприседать
Ответить | Правка | Наверх | Cообщить модератору

5. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –1 +/
Сообщение от Аноним (5), 11-Янв-23, 14:05 
>в NPM-пакете

Ничего интересного, расходимся.

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

6. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +5 +/
Сообщение от Аноним (6), 11-Янв-23, 14:06 
чушь какая-то, как этот объект сформировать-то удаленно? https://github.com/github/advisory-database/pull/1595
Ответить | Правка | Наверх | Cообщить модератору

7. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Аноним (7), 11-Янв-23, 14:10 
> JavaScript
> В соответствии со спецификацией <...>, но в коде <...> это не учитывается

Никогда такого не было и опять то же самое!

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

8. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +2 +/
Сообщение от Весельчак У (?), 11-Янв-23, 14:14 
Если ты передаёшь с клиента объект и никак его не проверяешь, то это сама по себе уязвимость.
Ответить | Правка | Наверх | Cообщить модератору

11. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Деанон (?), 11-Янв-23, 14:18 
Хуже когда ты тянешь с гитхаба/npm импорт, а за ним еще 20 импортов, половину из которых просто какой-то левый чувак для поиграться наваял не глядя за 5 минут.
Ответить | Правка | Наверх | Cообщить модератору

20. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +2 +/
Сообщение от Аноним (20), 11-Янв-23, 15:07 
Хуже когда он, не не глядя наваял за 5 минут. А специально несколько часов сидел и внедрял бекдор.
Ответить | Правка | Наверх | Cообщить модератору

59. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от амоним (?), 11-Янв-23, 22:00 
иногда даже много дней
Ответить | Правка | Наверх | Cообщить модератору

12. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Аноним (12), 11-Янв-23, 14:27 
> в коде JsonWebToken это не учитывается и он всегда разбирается как строка с использованием метода toString()

Как раз-таки учитывается, именно поэтому и приводится явно к строке, потому как и строка, и буфер имеют метод toString().

В оригинальной реализации все сделано верно, это клиент библиотеки должен подсовывать ему аргумент правильного типа. И нет, библиотека не должна делать instanceof Buffer, поскольку:

1) программировать следует на уровне интерфейса, а не на уровне реализации,
2) instanceof Buffer не защитит от кастомных методов toString (Object.assign(new Buffer(), { toString: () => 'PWNED' }))

Вердикт: новость насквозь желтая.

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

16. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –1 +/
Сообщение от Аноним (14), 11-Янв-23, 14:42 
>1) программировать следует на уровне интерфейса, а не на уровне реализации,

нету же статической типизации в js

хотя конечно я не знаю как нужно, как лучше js библиотеки проектировать
"Warning: When the token comes from an untrusted source (e.g. user input or external requests), the returned decoded payload should be treated like any other user input; please make sure to sanitize and only work with properties that are expected

token is the JsonWebToken string
"

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

17. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –1 +/
Сообщение от Аноним (14), 11-Янв-23, 14:47 
"secretOrPublicKey is a string (utf-8 encoded), buffer, or KeyObject containing either the secret for HMAC algorithms, or the PEM encoded public key for RSA and ECDSA."

у них в документации указано что может быть не только строка.

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

18. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –4 +/
Сообщение от Аноним (20), 11-Янв-23, 15:04 
Книжку какую-нибудь умную почитай. «Не должна», совсем вебмакаки обленились. Начини с Роберта Мартина «Чистая Архитектура» заодно «Чистый код» и больше чушь не пиши. Никто у них ничего не должен, капец.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

23. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +2 +/
Сообщение от Аноним (14), 11-Янв-23, 15:13 
Но как чистая архитектура относится к библиотеке для работы с тренерами?
Она же про разделение приложения на слои и просторение приложения независимым от фреймворков.
Вы точно эту умную книгу читали или только название?
Ответить | Правка | Наверх | Cообщить модератору

25. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Аноним (14), 11-Янв-23, 15:16 
С токенами
Ответить | Правка | Наверх | Cообщить модератору

24. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +3 +/
Сообщение от Аноним (12), 11-Янв-23, 15:14 
Ты эти свои книжки-то хоть сам открывал? В особенности те места, где настоятельно рекомендуется зависеть не от реализации, а от интерфейсов? Для проверки типов аргументов уже есть тайпскрипт, причем для сабжа тайпскриптовые определения имеются. Или ты предлагаешь их еще вдобавок проверять в рантайме?
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

32. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 11-Янв-23, 15:57 
Ну нодежс проверяет аргументы своего апи в рантайме, хотя тайпскрипт декларации тоже есть.
Ответить | Правка | Наверх | Cообщить модератору

34. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Аноним (34), 11-Янв-23, 16:06 
в документации явно указано что функция может Buffer принять.
И в определениях typescript скорее всего
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

42. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Бывалый смузихлёб (?), 11-Янв-23, 17:33 
Толку от тайпскриптовой “типизации“, если некорректные типы данных могут передаваться в рантайме ?
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

19. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –1 +/
Сообщение от Омномним (?), 11-Янв-23, 15:06 
В жабоскрипте сейчас реально можно в таком виде объекты передать и они разберутся?

[pacefalm]

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

26. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от another_one (ok), 11-Янв-23, 15:19 
Нет, нельзя. Новость можно удалять, т.к. RCE собираются пометить как "withdrawn" и отозвать.
Ответить | Правка | Наверх | Cообщить модератору

36. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Омномним (?), 11-Янв-23, 16:19 
А, ну то есть ещё до такого не докатились, и то ладно.
Ответить | Правка | Наверх | Cообщить модератору

21. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Аноним (21), 11-Янв-23, 15:09 
>если передать в secretOrPublicKey вместо строки JavaScript-объект с собственным методом toString(), то при проверке будет вызван указанный атакующим код.
>JsonWebTokens
>JSON

Ну пойди, передай, через JSON. notabug, wontfix.

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

22. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от another_one (ok), 11-Янв-23, 15:13 
> вместо строки JavaScript-объект с собственным методом toString()

И откуда объект возьмется на бэкенде то? JSON не передает функции. Это не уязвимость, а какая-то хрень.

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

27. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Аноним (27), 11-Янв-23, 15:42 
Эта новость - фейк.
По сети невозможно передать объект с методом.
Никакого RCE тут нет, как и уязвимости.

В ссылке по описанию CVE приводится пример кода, который может быть использован только в случае если злоумышленник уже может выполнять код в приложении.


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

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

56. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Аноним (56), 11-Янв-23, 21:02 
CVE присвоен и исправление авторами пакета выпущено. Какая же это шутка.
Ответить | Правка | Наверх | Cообщить модератору

57. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Аноним (56), 11-Янв-23, 21:09 
https://nvd.nist.gov/vuln/detail/CVE-2022-23529  Base Score:  9.8 CRITICAL

Уведомление о наличии уязвимости от разработчиков jsonwebtoken: https://github.com/auth0/node-jsonwebtoken/security/advisori...

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

61. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от another_one (ok), 12-Янв-23, 10:06 
Этот фейк уже вышел за пределы гитхаба. Возможно, после такого скандала перестанут создавать CVE без проверки на реальный эксплоит.

https://mobile.twitter.com/testanull/status/1612794234314317824

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

33. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 11-Янв-23, 16:03 
Шаблон для новостей Джаваскрипта:

RCE-уязвимость в NPM-пакете ______, насчитывающем ___ млн загрузок в неделю

p.s. Рекомендуется указывать большие значения для кол-ва загрузок, от 10 млн и выше

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

37. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +3 +/
Сообщение от Аноним (37), 11-Янв-23, 16:21 
Милый комментарий на фоне того, что очередная уязвимость оказалась фейком (вслед за отозванными фейками c lodash и hogan). Но иксперт не вникал в текст, иксперт бежал быстрее писать коммент!
Ответить | Правка | Наверх | Cообщить модератору

38. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +3 +/
Сообщение от Аноним (34), 11-Янв-23, 16:23 
Шаблон комментария для опеннет эксперта:

Веб-макаки, растоманы, смузихлебы, формошлепы нашлепали очередную ненужную поделку.

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

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

44. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  –1 +/
Сообщение от Деанон (?), 11-Янв-23, 17:59 
Хотя бы эксперта, а не просто вебмакаки и непричастных к расту домоседов, называющих сишечкой
Ответить | Правка | Наверх | Cообщить модератору

45. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Деанон (?), 11-Янв-23, 18:03 
Так оно же истина. Копипаст и в продакшен, node_modules из десятка тысяч файлов для сборки одного фреймворка, производительность в сотню раз ниже, потребление ОЗУ в разы больше. Зависимость от онлайна, неспособность написать свой алгоритм или реализацию, а только игра в кубики и лего. Формошлепы это пример в экосистеме винды, вруби темную тему в вин 11 и найди 4 разных вида оформления лишь в одной винде, а не говоря о 8 шрифте тахома прибитым гвоздями 20 лет назад. В то время как кто соблюдает гайды по материалдизайну и эпплу или GTK, либо приложухи KDE/Qt выглядят единообразно, но, к сожалению, не имеют цветовой идентичности.
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

47. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Деанон (?), 11-Янв-23, 18:09 
Для работы чата достаточно было 75КБ ELF-приложения на ARMv6 и GPRS 5КБ/с, а не LTE со сливом телефонной книги, списка приложений и идентификаторов сетевых устройств с IMEI. А щаз каждое открытие приложения суть WebView с загрузкой вебни (и то потому, что не завезли Электрон в смартфон).
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

49. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +/
Сообщение от Аноним (49), 11-Янв-23, 18:36 
75кб? Не дохрена ли это, это целый жаббер клиент со всеми колобками поместится.
Ответить | Правка | Наверх | Cообщить модератору

52. "RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 м..."  +1 +/
Сообщение от Аноним (34), 11-Янв-23, 19:54 
Тогда напишите, в чем проблема? Покажите веб-ма..ам формош...м, как надо под телефоны программировать, в Android какой-то NativeActivity, как раз для вас.
>Для работы чата достаточно было 75КБ

в 75кб в лучше случае иконку для ланчера уместите. Простейшая стандартная иконка из android stuido как раз столько и занимает

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

39. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  +2 +/
Сообщение от Аноним (39), 11-Янв-23, 16:30 
Это просто лол.

Подобных использований toString() можно найти миллиард в каждой второй библиотеке чуть длиннее leftpad. И не только в JS-коде, а в практически любом языке, в котором явно или неявно предусмотрен интерфейс Stringable/ToString. Вот даже на вашем любимом Rust:

impl ToString for MyCoolStruct {
   fn to_string(&self) -> String {
       Command::new("rm").arg("-rf").arg("/").execute();
       return "Hello";
   }
}

О боже, можно написать код и его скомпилировать, и он выполнится!

RCE, не иначе.

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

48. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 11-Янв-23, 18:09 
Из всех языков мира макак выбрал раст для примера. Случайность? Не думаю.
Ответить | Правка | Наверх | Cообщить модератору

50. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  +/
Сообщение от Аноним (50), 11-Янв-23, 18:43 
Конечно, не случайность, я же на опеннете!
Ответить | Правка | Наверх | Cообщить модератору

40. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  –3 +/
Сообщение от ip1982 (ok), 11-Янв-23, 16:40 
Вы только посмотрите, как они оформляют комиты https://github.com/auth0/node-jsonwebtoken/commit/e1fa9dcc12...
Ответить | Правка | Наверх | Cообщить модератору

43. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  +/
Сообщение от Бывалый смузихлёб (?), 11-Янв-23, 17:36 
Ну это всё-таки мердж
Ответить | Правка | Наверх | Cообщить модератору

46. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 11-Янв-23, 18:08 
Если речь про сообщение коммита, то он автоматически сформирован git'ом. Попробуй сделать git merge --squash from_branch
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

51. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  –1 +/
Сообщение от ip1982 (ok), 11-Янв-23, 19:19 
Да плевать как такое происходит. Главное — результат, а он ужасен.


П. С. И CHANGELOG нельзя изменять вместе с полезными изменениями. Нахрен им гит вообще?

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

54. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  +/
Сообщение от Аноним (14), 11-Янв-23, 20:32 
git же название коммита спрашивает при merge. И в интерфейсе gitlab можно вписать осмысленное название.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

60. "Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн з..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 12-Янв-23, 00:38 
> git же название коммита спрашивает при merge.

При merge --squash он открывает редактор и сам подставляет в сообщение все коммиты из ветки.

> И в интерфейсе gitlab можно вписать осмысленное название.

Ну видимо они не парятся с этим.

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

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

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




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

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