Interpolation Jelly/JS (renforcement de la sécurité de l’instance)

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 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 de Jelly.

    Lorsque vous définissez la propriété sur true, une application passe par une arborescence de script Jelly (imbriquée). Il enveloppe les expressions Jelly potentiellement dangereuses avec un filtre qui :
    • Échappe à ses 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.

    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)
    Configurer dans le centre de sécurité de l’instance Oui
    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
    Impact fonctionnel (Élevé) Cette propriété permet de deviner si une expression est entre guillemets. Il peut citer à tort une expression légitime. Dans ce cas, il peut être nécessaire de marquer manuellement une expression comme sûre.
    Risque de sécurité (Moyen) L’injection JEXL est une forme d’injection d’entrée unique qui Now Platform peut conduire à la fois à la falsification de requête intersite et à l’exécution 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 le préfixe SAFE à l’expression Jelly :

    ${SAFE :sysparm_input} ;

    L’ajout aveugle de SAFE à chaque expression n’est pas la bonne façon d’aborder le problème, car cela peut ouvrir une faille de sécurité.
    • Ajoutez SAFE à une expression uniquement 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 l’é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 à Add a system property.