Laminas · Laminas-Form · CVE-2022-23598
**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