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 | Vulnérabilité dans les clients CAS |
Référence | ESUP-2014-AVI-003 |
Date de la première version | 26 août 2014 |
Date de la dernière version | 28 août 2014 |
Source | liste de diffusion uportal-user du consortium JASIG |
Diffusion de cette version | Coordination technique |
Historique |
|
Planning prévisionnel | - |
Pièces jointes | - |
Affected Software
----------------------------------------
Jasig Java CAS Client
Vulnerable versions: <3.3.2
Fix version: 3.3.2, http://search.maven.org/#browse%7C1586013685
.NET CAS Client
Vulnerable versions: <1.0.2
Fix version: 1.0.2,
http://downloads.jasig.org/cas-clients/dotnet/dotnet-client-1.0.2-bin.zip
phpCAS
Vulnerable versions: <1.3.3
Fix version: 1.3.3,
http://downloads.jasig.org/cas-clients/php/1.3.3/CAS-1.3.3.tgz
Une application extérieure (mise en place par le pirate) utilise le CAS de l'établissement comme mécanisme d'authentification (fonctionne si le CAS n'utilise pas de règles de filtrages "whitelist" sur les applications web cassifiées).
Un utilisateur va sur cette application (simple clique sur un lien par exemple) et fournit (après authentification CAS, qui se fait de manière transparente si une session CAS est déjà existante) de fait un service ticket à cette application. Le pirate utilise ce service ticket pour s'authentifier (au nom de l'utilisateur) sur l'ENT (ou toute autre application cassifiée vulnérable, et ce alors que le ticket était à destination de l'application du pirate : exploitation de la faille).
La mise en place des listes blanches des applications cassifiés sur le CAS de l'établissement a déjà été fortement conseillée dans l'alerte ESUP-2011-AVI-A. -
La mise à jour des librairies clientes CAS est une bonne option également, suite au signalement de cette faille les dernières versions corrigent ce problème.
Les applications web cassifiées impactées peuvent aussi proposer des mises à jour corrigeant ce problème.
Il faut modifier 2 fichiers pom.xml :
si vous n'avez pas de fichier custom/uPortal/pom.xml, créez le :
cp update/uPortal/pom.xml custom/uPortal/pom.xml |
puis faite la modification :
--- custom/uPortal/pom.xml.old +++ custom/uPortal/pom.xml @@ -101,7 +101,7 @@ <ant.version>1.7.1</ant.version> <aspectjrt.version>1.6.9</aspectjrt.version> <aspectjweaver.version>1.6.9</aspectjweaver.version> - <casclient.version>3.1.10</casclient.version> + <casclient.version>3.3.3</casclient.version> <cernunnos.version>1.2.1</cernunnos.version> <commons-cli.version>1.2</commons-cli.version> <commons-codec.version>1.4</commons-codec.version> @@ -517,9 +517,15 @@ <version>${resource-aggregator.version}</version> </dependency> <dependency> - <groupId>org.jasig.cas</groupId> + <groupId>org.jasig.cas.client</groupId> <artifactId>cas-client-core</artifactId> <version>${casclient.version}</version> + <exclusions> + <exclusion> + <groupId>org.opensaml</groupId> + <artifactId>opensaml</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.jasig.portal</groupId> |
si vous n'avez pas de fichier custom/uPortal/pom.xml, créez le :
cp Portail/uPortal*/uportal-impl/pom.xml custom/uPortal/uportal-impl/pom.xml |
puis faite la modification :
--- custom/uPortal/uportal-impl/pom.xml.old +++ custom/uPortal/uportal-impl/pom.xml @@ -96,11 +96,6 @@ <artifactId>esup-utils</artifactId> <version>1.03</version> </dependency> - <dependency> - <groupId>org.jasig.cas</groupId> - <artifactId>cas-client-core</artifactId> - <version>3.1.3</version> - </dependency> <!-- ***** Portal JDBC Driver ***** | The groupId, artifactId and version are configured in the root POM. @@ -118,7 +113,7 @@ </dependency> <dependency> - <groupId>org.jasig.cas</groupId> + <groupId>org.jasig.cas.client</groupId> <artifactId>cas-client-core</artifactId> </dependency> |