CVE-2019-2725


Les versions 10.3.6 et 12.1.3 sont vulnérables à une faille de sécurité majeure exposée dans la CVE-2019-2725. De niveau 9.8 cette faille permet une prise de contrôle à distance d’un serveur via une requête HTTP sans avoir besoin de s’authentifier. La faille s’appuie encore une fois sur la désérialisation des objets Java.

Une faille sensiblement identique a déjà été traitée dans l’article Sécurité des serveurs et la nécessité de les patcher

 

 

 

 

2 applications web peuvent servir de vecteur pour déclencher une attaque :

  • wls-wsat.war
  • bea_wls9_async

Contre-mesures

L’application du patch publié par Oracle est la solution recommandée.

Toutefois, il est également possible d’agir au niveau des 2 applications comme indiqué dans les chapitres ci-dessous.

Patching

Oracle propose le Patch 29694149 comme correctif. Il doit être appliqué après un des PSU (Patch Set Update) indiqués ci-dessous :

WebLogic Server 10.3.6.0

  • PSU 10.3.6.0.190115 (Patch 28710912)
  • PSU 10.3.6.0.190416 (Patch 29204678)

WebLogic Server 12.1.3.0

  • PSU 12.1.3.0.190115 (Patch 28710923)
  • PSU 12.1.3.0.190416 (Patch 29204657)

Les versions 12.2.x ne sont pas vulnérables à cette faille de sécurité.

Les versions antérieures à 10.3.6.0 sont très certainement vulnérables mais Oracle ne propose aucun patch car elles ne sont plus supportées. Si vous êtes dans cette situation il faut mettre à jour votre environnement.

Un bulletin de sécurité traitant du sujet a été publié par Oracle le 26 avril 2019.

Cette faille se situe au niveau des applications web internes wls-wsat et bea_wls9_async qui se trouvent :

  • WebLogic Server 10.3.6 : $BEA_HOME/wlserver_10.3/server/lib/bea_wls9_async_response.war
  • WebLogic Server 12.1.3 : $MW_HOME/oracle_common/modules/com.oracle.webservices.wls.bea-wls9-async-response_12.1.3.war
  • WebLogic Server 10.3.6 : $BEA_HOME/wlserver_10.3/server/lib/wls-wsat.war
  • WebLogic Server 12.1.3 : $MW_HOME/oracle_common/modules/com.oracle.webservices.wls.wsat-endpoints-impl_12.1.3.war

Ces applications web sont automatiquement déployées sur les serveurs WebLogic.

bea_wls9_async est par exemple accessible via l’url
http://[HOST]:[PORT]/_async/AsyncResponseServiceHttps

Désactivation de l’application bea_wls9_async

La propriété suivante permet d’indiquer à WebLogic de ne pas déployer l’application :

[pastacode lang= »java » manual= »-Dweblogic.wsee.skip.async.response%3Dtrue » message= » » highlight= » » provider= »manual »/]

Suppression des applications de l’installation

Si vos applications n’utilisent pas les 2 applications internes incriminées il peut être judicieux de les désactiver complètement, ce qui annule la faille par la même occasion.

Pour ce faire, il faut :

  • Arrêter tous les serveurs du domaine.
  • Supprimer ou renommer les .war
  • Supprimer le répertoire « tmp » de chaque serveur sous $DOMAIN_HOME/servers/<nom du serveur>/tmp
  • Démarrer les serveurs.

Un warning sera affiché dans la log de chaque serveur indiquant que WebLogic n’a pas réussit à déployer l’application.

Exemple :

[pastacode lang= »markup » manual= »%3C…%3E%20%3CWarning%3E%20%3CDeployer%3E%20%3CBEA-149617%3E%20%3CNon-critical%20internal%20application%20com.oracle.webservices.wls.bea-wls9-async-response_12.1.3%20was%20not%20deployed.%20Error%3A%20%5BDeployer%3A149158%5DNo%20application%20files%20exist%20at%20%22…%5Cwlserver%5Cserver%5Clib%5C..%5C..%5C..%5Coracle_common%5Cmodules%5Ccom.oracle.webservices.wls.bea-wls9-async-response_12.1.3.war%22.%3E » message= » » highlight= » » provider= »manual »/]