Habilitar proteção de interpolação do JS Jelly

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 1 min. de leitura
  • Use a propriedade glide.ui.jelly.js_interpolation.protect para garantir que qualquer JavaScript prestes a ser executado em uma página do Jelly esteja protegido contra injeção com a ajuda da interpolação do Jelly.

    Quando você define a propriedade como verdadeira, uma aplicação passa por uma árvore de scripts Jelly (aninhada). Ela envolve expressões Jelly potencialmente perigosas com um filtro que:
    • Escapa dos resultados por segurança, ou
    • Se a segurança não puder ser garantida, gera uma SecurityException porque a expressão que seria avaliada representa um possível problema de segurança.
    Aviso:
    Esta é uma propriedade tipo porto seguro, o que significa que o valor não pode ser alterado após ser mudado. A reversão não é possível.

    Mais informações

    Atributo Descrição
    Nome da propriedade glide.ui.jelly.js_interpolation.protect
    Tipo de configuração Propriedades do sistema (/sys_properties_list.do)
    Categoria Validação, limpeza e codificação
    Finalidade Atenuar os ataques de execução de código mal-intencionado que podem ocorrer usando o Jelly Injection.
    Valor recomendado Verdadeiro
    Classificação de risco de segurança 9
    Impacto funcional (Alto) Esta propriedade faz uma melhor estimativa se uma expressão está entre aspas. Ela pode citar incorretamente uma expressão legítima. Nesse caso, pode ser necessário marcar manualmente uma expressão como segura.
    Risco à segurança (Moderado) A injeção de JEXL é uma forma de injeção de entrada exclusiva da Now Platform que pode levar à falsificação de solicitação entre sites e à execução de código. Desativar completamente a proteção pode abrir muitas vulnerabilidades de segurança P1.
    Solução alternativa

    Para marcar manualmente uma expressão como segura, adicione o prefixo SAFE à expressão do Jelly:

    ${SAFE:sysparm_input};

    Adicionar SAFE às cegas a cada expressão é a maneira incorreta de abordar o problema, pois pode abrir uma vulnerabilidade de segurança.
    • Somente adicione SAFE a uma expressão se você puder garantir que a expressão não contém a entrada do cliente.
    • Caso contiver, um cliente mal-intencionado pode causar avaliação de JavaScript privilegiado.
    Referências Marcadores Jelly

    Configurações de Alta Segurança

    Para saber mais sobre como adicionar ou criar uma propriedade do sistema, consulte Add a system property.