PT-2022-16114 · Laminas · Laminas-Form

Weierophinney

·

Publicado

2022-01-28

·

Atualizado

2022-03-25

·

CVE-2022-23598

CVSS v3.1

6.1

Média

VetorAV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Nome do software vulnerável e versões afetadas
Versões do lamina-form anteriores à 2.17.1
Versões do lamina-form anteriores à 3.0.2
Versões do lamina-form anteriores à 3.1.1
Descrição
O pacote laminas-form é utilizado para validar e exibir formulários simples e complexos. Ao renderizar mensagens de erro de validação por meio do auxiliar de visualização formElementErrors(), muitas mensagens conterão o valor enviado. No entanto, nas versões vulneráveis do laminas-form, o valor não estava sendo escapado para contextos HTML, o que poderia potencialmente levar a um ataque de script entre sites refletido.
Recomendações
Para versões do laminas-form anteriores à 2.17.1, atualize para a versão 2.17.1 ou superior para mitigar a vulnerabilidade.
Para versões do laminas-form anteriores à 3.0.2, atualize para a versão 3.0.2 ou superior para mitigar a vulnerabilidade.
Para versões do laminas-form anteriores à 3.1.1, atualize para a versão 3.1.1 ou superior para mitigar a vulnerabilidade.
Como solução temporária, insira manualmente o código no início de um script de visualização onde o auxiliar de visualização formElementErrors() é chamado para escapar os valores enviados para contextos HTML.
Use o seguinte código:
php

use LaminasFormElementInterface;

use LaminasViewPhpRenderer;




$escapeMessages = function (ElementInterface $formOrElement, PhpRenderer $renderer): void {

  $messages = $formOrElement->getMessages();

  if (! $messages) {

    return;

  }




  $escaped = [];

  array walk recursive(

    $messages,

    static function (string $item) use (&$escap

Exploit

Correção

XSS

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-23598
GHSA-JQ4P-MQ33-W375

Produtos afetados

Laminas-Form