PT-2022-20462 · Unknown · Play Framework
Beny23
·
Publicado
2022-06-02
·
Atualizado
2022-06-13
·
CVE-2022-31018
CVSS v3.1
7.5
Alta
| Vetor | AV: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
Produtos afetados
Play Framework