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
| Vetor | AV: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 (&$escapExploit
Correção
XSS
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Laminas-Form