PT-2022-20462 · Unknown · Play Framework

Beny23

·

Publicado

2022-06-02

·

Atualizado

2022-06-13

·

CVE-2022-31018

CVSS v3.1

7.5

Alta

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
Versões 2.8.3 a 2.8.15 do Play Framework
Descrição
Foi descoberta uma vulnerabilidade de negação de serviço na biblioteca de formulários do Play Framework, afetando tanto as APIs Scala quanto as Java. Isso ocorre ao usar o método Form#bindFromRequest em um corpo de solicitação JSON ou o método Form#bind diretamente em um valor JSON, e os dados JSON contêm um objeto ou matriz JSON profundamente aninhado, o que pode consumir todo o espaço disponível na pilha e causar um OutOfMemoryError. Se a execução for feita no despachador padrão e akka.jvm-exit-on-fatal-error estiver habilitado, isso pode causar a falha do processo da aplicação. Form.bindFromRequest fica vulnerável ao usar qualquer analisador de corpo que produza um tipo AnyContent ou JsValue em Scala, ou um que possa produzir um JsonNode em Java, incluindo o analisador de corpo padrão do Play.
Recomendações
Para as versões 2.8.3 a 2.8.15, atualize para a versão 2.8.16, que inclui um limite global para a profundidade de um objeto JSON que pode ser analisado, configurável pelo usuário se necessário.
Como solução alternativa temporária, considere mudar do analisador de corpo padrão para outro analisador de corpo que suporte apenas o tipo específico de corpo esperado, como o analisador de corpo formUrlEncoded para solicitações application/x-www-form-urlencoded.

Exploit

Correção

DoS

Resource Exhaustion

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-31018
GHSA-V8X6-59G4-5G3W

Produtos afetados

Play Framework