golang-jwt — это реализация JSON Web Tokens на Go. Начиная с версии 3.2.0 и до версий 5.2.2 и 4.5.2, функция parse.ParseUnverified разделяе…
golang-jwt — это реализация JSON Web Tokens на Go. Начиная с версии 3.2.0 и до версий 5.2.2 и 4.5.2, функция parse.ParseUnverified разделяет свой аргумент (который является недоверенными данными) на точки. В результате, при наличии вредоносного запроса, чей заголовок Authorization состоит из Bearer, за которым следуют много точек, вызов этой функции приводит к выделению памяти объёмом O(n) байт (где n — длина аргумента функции), с постоянным коэффициентом около 16 [1]. Источники: - [1] https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp
Продукт не управляет должным образом выделением ограниченного ресурса и его обслуживанием.
https://cwe.mitre.org/data/definitions/400.html →Открыть в коллекции CWE →Продукт не обеспечивает должного контроля ситуаций, при которых злоумышленник может вынудить продукт потреблять или производить избыточное количество ресурсов, не затрачивая при этом эквивалентных усилий или иным образом не подтверждая авторизацию, то есть влияние злоумышленника носит «асимметричный» характер.
https://cwe.mitre.org/data/definitions/405.html →Открыть в коллекции CWE →Злоумышленник инициирует атаку исчерпания ресурсов, при которой большое количество небольших XML-сообщений доставляется с достаточно высокой частотой для обеспечения отказа в обслуживании или аварийного завершения работы цели. Транзакции, такие как повторяющиеся SOAP-транзакции, способны исчерпывать ресурсы быстрее, чем обычный флудинг, из-за дополнительных ресурсов, потребляемых протоколом SOAP, и ресурсов, необходимых для обработки SOAP-сообщений. Используемые транзакции несущественны при условии, что они вызывают потребление ресурсов на цели. Иными словами, это обычная флудинг-атака, усиленная за счёт использования сообщений, требующих дополнительной обработки на целевой стороне.
https://capec.mitre.org/data/definitions/147.html →Открыть в коллекции CAPEC →Злоумышленник пытается лишить легитимных пользователей доступа к ресурсу, непрерывно занимая конкретный ресурс с целью удержания его занятым как можно дольше. Основная цель злоумышленника состоит не в том, чтобы привести цель к аварийному завершению или проводить флудинг, что привлекло бы внимание защитников, а в том, чтобы многократно выполнять действия или эксплуатировать алгоритмические недостатки, чтобы данный ресурс оставался занятым и недоступным для легитимного пользователя. Тщательно формируя запросы, удерживающие ресурс занятым посредством, казалось бы, безобидных запросов, злоумышленник ограничивает или полностью лишает легитимных пользователей доступа к ресурсу.
https://capec.mitre.org/data/definitions/227.html →Открыть в коллекции CAPEC →Злоумышленник может реализовать атаку на программу, использующую неэффективную реализацию регулярных выражений (Regex), подобрав входные данные, приводящие к крайне неблагоприятному сценарию работы Regex. Типичный крайний сценарий характеризуется экспоненциальным временем работы относительно размера входных данных. Это объясняется тем, что большинство реализаций использует недетерминированный конечный автомат (NFA) в качестве основы алгоритма Regex, поскольку NFA допускает обратный просмотр и тем самым поддерживает более сложные регулярные выражения.
https://capec.mitre.org/data/definitions/492.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| golang-github-golang-jwt-jwt | Отслеживается | |
| golang-github-golang-jwt-jwt | Отслеживается | |
| golang-github-golang-jwt-jwt | Отслеживается | |
| golang-github-golang-jwt-jwt | Отслеживается | |
| golang-github-golang-jwt-jwt | Отслеживается | |
| golang-github-golang-jwt-jwt-v5 | Отслеживается | |
| golang-github-golang-jwt-jwt-v5 | Отслеживается | |
| golang-github-golang-jwt-jwt-v5 | Отслеживается | |
| golang-github-golang-jwt-jwt-v5 | Отслеживается |