Comment limiter la vulnérabilité de Salesforce SSRF dans AEM

Arrière-plan

Une vulnérabilité liée à une requête côté serveur a été récemment découverte dans un chemin d’accès AEM qui peut être utiliséé pour laisser filtrer les identifiants des rôles d’instance IAM depuis le service de métadonnées d’instance AWS ou Azure. Cette vulnérabilité se trouve dans le lot Salesforce MCM.

Une instance AEM vulnérable renverra des clés d’API temporaires. Ces clés API expirent en quelques heures et possèdent des autorisations équivalentes au rôle de ManagedServicesBigBearInstance.

Options d’atténuation

Limitation recommandée - Désactivez le lot Salesforce

La limitation préférée consiste à désactiver le lot Salesforce. Pour ce faire, procédez comme suit :

  1. Allez à la console système Auteur en accédant à cette URL :

    • http://serveraddress:serverip/system/console/bundles
  2. Recherchez com.day.cq.mcm.cq-mcm-salesforce. Une fois que vous le trouvez, appuyez sur le bouton d’arrêt dans le coin droit du lot pour l’arrêter.

  3. Effacez le cache Dispatcher en exécutant ces commandes dans le terminal :

    cd /mnt/var/www/html

    Après avoir basculé vers l’emplacement approprié, effacez la mémoire cache en exécutant :

    rm -rf ./libs/*
  4. Enfin, confirmez que les URL ne renvoient pas les informations essentielles. Pour ce faire, vous pouvez accéder à ces deux URL :

    • http://publishurl:pubishport/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzzredirect_uri=xxxx&code=e
    • http://authorandpublishurl:port/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/metadata/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzz&redirect_uri=xxxx&code=e

Atténuation de la vulnérabilité dans le cas où vous utilisez l’intégration SalesForce

Vérifiez tout d’abord si vous utilisez l’intégration AEM Salesforce. Pour ce faire, procédez comme suit :

  1. Accédez à http://serveraddress:serverip/etc/cloudservices/salesforce.html et vérifiez si le tableau de bord indique que le service est activé ou non
  2. Ou en exécutant cette commande cURL :
    1. curl -s -u "admin:$(pass CQ_Admin)" serveraddress:serverport/etc/cloudservices/salesforce.html|grep enabled|wc -l

Si le service est en cours d’exécution, suivez la procédure ci-dessous pour appliquer la limitation :

  1. Identifiez le fichier de configuration qui contrôle les règles du Dispatcher. Génériquement, vous pouvez effectuer cette opération en accédant à /etc/httpd/conf/ et en recherchant des fichiers *.any comme indiqué ci-dessous :

    Remarque :

    Les chemins et les noms de fichier peuvent varier selon la configuration de votre instance.

    cd /etc/httpd/conf/
    cat dispatcher.any
    cat publish-farm.any
  2. Une fois le fichier identifié, sauvegardez-le vers un autre endroit. Ensuite, modifiez le fichier actif comme suit :

    cp publish-farm.any publish-farm.any.20180525
    vi publish-farm.any

    Ajoutez ensuite cette ligne au fichier de configuration :

    /9999 { /type "deny" /glob "GET *libs/mcm/salesforce/customer*" }
  3. Vérifiez la configuration en exécutant :

    apachectl configtest
  4. Exécutez les commandes suivantes pour redémarrer le service httpd :

    service httpd reload
    service httpd status
  5. Maintenant, effacez le cache du Dispatcher :

    cd /mnt/var/www/html
    rm -rf ./libs/*
  6. Enfin, confirmez que les URL ne renvoient pas les informations essentielles en accédant à ces URL :

    • http://publishurl:pubishport/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzzredirect_uri=xxxx&code=e
    • http://authorandpublishurl:port/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/metadata/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzz&redirect_uri=xxxx&code=e

Une autre option de limitation en cas d’échec

Si vous utilisez l’intégration Salesforce mais que la limitation ci-dessus échoue, vous pouvez ajouter la règle de réécriture suivante dans chaque section VirtualHost du fichier dispatcher_conf.any :

  • RewriteRule ^/libs/mcm/salesforce/customer.html* [F]

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?