
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é.
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 :
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 :