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 :

-Dweblogic.wsee.skip.async.response=true

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 :

<...> <Warning> <Deployer> <BEA-149617> <Non-critical internal application com.oracle.webservices.wls.bea-wls9-async-response_12.1.3 was not deployed. Error: [Deployer:149158]No application files exist at "...\wlserver\server\lib\..\..\..\oracle_common\modules\com.oracle.webservices.wls.bea-wls9-async-response_12.1.3.war".>