Play Framework — это веб-фреймворк для Java и Scala. В версиях 2.8.3–2.8.15 библиотеки форм Play (как в Scala, так и в Java API) обнаружена…
Play Framework — это веб-фреймворк для Java и Scala. В версиях 2.8.3–2.8.15 библиотеки форм Play (как в Scala, так и в Java API) обнаружена уязвимость, связанная с отказом в обслуживании. Это может произойти при использовании метода `Form#bindFromRequest` в теле запроса JSON или метода `Form#bind` непосредственно в значении JSON. Если данные JSON, привязанные к форме, содержат глубоко вложенный объект или массив JSON, реализация привязки формы может использовать все доступное пространство кучи и вызвать ошибку `OutOfMemoryError`. Если выполнение происходит в диспетчере по умолчанию и `akka.jvm-exit-on-fatal-error` включено (как это делается по умолчанию), это может привести к сбою процесса приложения. `Form.bindFromRequest` уязвим при использовании любого анализатора тела, который создает тип `AnyContent` или `JsValue` в Scala или который может создавать `JsonNode` в Java. Сюда входит анализатор тела Play по умолчанию. Эта уязвимость была исправлена в версии 2.8.16. Теперь существует глобальное ограничение на глубину объекта JSON, который можно проанализировать, которое при необходимости может быть настроено пользователем. В качестве обходного решения приложения, которым не нужно анализировать тело запроса типа `application/json`, могут переключиться с анализатора тела по умолчанию на другой анализатор тела, который поддерживает только определенный тип тела, который они ожидают.
Продукт не управляет должным образом выделением ограниченного ресурса и его обслуживанием.
https://cwe.mitre.org/data/definitions/400.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 →