The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

RCE-уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн загрузок в неделю, opennews (??), 11-Янв-23, (0) [смотреть все]

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


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ообщить модератору

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

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




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

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