Activer la protection contre l'interpolation de Jelly JS

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 1 minute de lecture
  • Utilisez la glide.ui.jelly.js_interpolation.protect propriété pour vous assurer que tout JavaScript sur le point d’être exécuté sur une page Jelly est protégé de l’injection à l’aide de l’interpolation Jelly.

    Lorsque vous définissez la propriété sur true, une application passe par une arborescence de scripts Jelly (imbriquée). Il enveloppe les expressions Jelly potentiellement dangereuses avec un filtre qui :
    • Échappe à leurs résultats pour être en sécurité, ou
    • Si leur sécurité ne peut pas être garantie, génère une SecurityException, car l’expression qui allait être évaluée représente un problème de sécurité possible.
    Avertissement :
    Il s’agit d’une propriété de la sphère de sécurité, ce qui signifie que la valeur ne peut pas être modifiée une fois qu’elle a été modifiée. Il n’est pas réversible.

    En savoir plus

    Attribut Description
    Nom de la propriété glide.ui.jelly.js_interpolation.protect
    Type de configuration Propriétés système (/sys_properties_list.do)
    Catégorie Validation, nettoyage et codage
    Objectif Pour atténuer les attaques d’exécution de code malveillant qui peuvent se produire à l’aide de Jelly Injection.
    Valeur recommandée vrai
    Valeur par défaut Faux
    Cote de risque de sécurité 9
    Impact fonctionnel Cette propriété détermine au mieux si une expression est citée. Il peut citer à tort une expression légitime. Dans ce cas, il peut être nécessaire de marquer manuellement une expression comme étant sûre.
    Risque de sécurité (Modéré) L’injection JEXL est une forme d’injection d’entrée unique qui peut conduire à la fois à la falsification de requête intersite et à l’exécution ServiceNow AI Platform de code. La désactivation complète de la protection peut potentiellement ouvrir de nombreuses vulnérabilités de sécurité P1.
    Solution de contournement

    Pour marquer manuellement une expression comme sûre, ajoutez un préfixe SAFE à l’expression Jelly :

    ${SAFE :sysparm_input} ;

    Ajouter aveuglément SAFE à chaque expression est une mauvaise façon d’aborder le problème, car cela peut ouvrir une vulnérabilité de sécurité.
    • N’ajoutez SAFE à une expression que si vous pouvez garantir que l’expression ne contient pas d’entrée du client.
    • Si c’est le cas, il est possible qu’un client malveillant provoque une évaluation du JavaScript privilégié.
    Références Balises Jelly

    Paramètres de sécurité élevée

    Pour en savoir plus sur l’ajout ou la création d’une propriété système, reportez-vous à la section Add a system property.