Pages enfant
  • ESUP-2014-AVI-002 - Vulnérabilité dans uPortal

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.

...

Objet

Vulnérabilité dans uPortal

Référence

ESUP-2014-AVI-002

Date de la première version

26 août 2014

Date de la dernière version

26 août 2014

Source

liste de diffusion uportal-user du consortium JASIG

Diffusion de cette version

Coordination techniquePublique

Historique

  • 21 août 2014 : réception de la faille CVE-2014-5059 sur uportal-user
  • 25 août 2014 : prise en compte et validation de la faille sur un uPortal V4 (Pascal Rigaux)
  • 25 août 2014 : validation de la solution proposée sur un uPortal V4 (Pascal Rigaux)
  • 26 août 2014 : rédaction de la première version de cet avis (Vincent Bonamy, Pascal Rigaux)
  • xx 26 août 2014 : mise en ligne d'un correctif pour le packaging EsupV4 -> uportal-4.0.15-esup-1 (Vincent Bonamy)
  • xx 26 août 2014 : envoi de l'avis de sécurité à securite@esup-portail.org
  • xx août 03 sept 2014 : envoi de l'avis de sécurité à esup-utilisateurs@esup-portail.org

Planning prévisionnel

-

Pièces jointes

-

...

  • Usurpation d'identité : n'importe quel utilisateur connecté peut s'authentifier sur l'ensemble de l'ENT (socle et portlets associées) sous le compte d'une autre personne.
  • Récupération et modifications modification d'information personnelle informations personnelles par un autre utilisateur connecté ; selon les services inclus directement dans le socle : mails, espace de stockage, dossier personnel, ...
  • La connexion en tant qu'admin dans l'ENT et modification de celui-ci est donc possible en connaissant le login d'un admin.
  • etc. ....

Systèmes affectés

  • A priori Toutes toutes les distributions du socle uPortal et Esup-uPortal 
  • Correction faite en uportal-4.0.15 - uportal-4.0.15-esup-1 pour le packaging ESUP

...

L'alerte concerne au moins les uPortal en 3.x et 4.x antérieurs au 21 Août 2014 (antérieurs à 4.0.15 / 4.1.1), et certainement les versions 2.x et inférieures également. 

Elles concernent Elle concerne les uPortal utilisant l'authentification CAS avec une configuration classique de celle-ci : cela concerne donc la majorité des ENT EsupPortail de notre communauté.

Solution

Modifiez votre fichier security.properties (cf la description détaillée du workaround par Jasig) :

...

Bloc de code
principalToken.root=
credentialToken.root=
principalToken.root.simple=userName
credentialToken.root.simple=password

Solution détaillée pour les différentes versions de esup-uPortal

esup-uPortal 4.x

La version uportal-4.0.15-esup-1 pour le package Esup corrige le problème. Si vous gérez votre ENT via Git, vous devriez ainsi pouvoir faire une mise à jour assez rapidement (git pull ou git merge puis redéploiement et redémarrage).

...

esup-uPortal 3.2.x

Le fichier a à modifier est update/uPortal/uportal-impl/src/main/resources/properties/security.properties ou custom/uPortal/uportal-impl/src/main/resources/properties/security.properties :

...

Bloc de code
languagebash
ant init deploy

Puis redémarrer tomcat.

esup-uPortal 2.6.x

Le fichier à modifier est update/uPortal/properties/security.properties ou custom/uPortal/properties/security.properties :

Bloc de code
languagediff
--- update/uPortal/properties/security.properties~      2009-12-10 14:59:10.000000000 +0100
+++ update/uPortal/properties/security.properties       2014-08-26 15:23:03.798027998 +0200
@@ -53,8 +53,10 @@
 
 # Answers what tokens are examined in the request for each context during authentication.
 # A subcontext only needs to set it's tokens if it differs from those of the root context.
-principalToken.root=userName
-credentialToken.root=password
+principalToken.root=
+credentialToken.root=
+principalToken.root.simple=userName
+credentialToken.root.simple=password
 
 # Answers where the user will be redirected when log out occurs. Each security context can have one.
 # (See comments in the LogoutServlet class)

Il faut ensuite faire

Bloc de code
languagebash
ant init deploy

Puis redémarrer tomcat.

Liens