Dutch
English
full disclosure
zero day
vision helpdesk
exploit
0day

Kritieke kwetsbaarheid in Vision Helpdesk maakt onbevoegde sessietoegang mogelijk

Joel Aviad Ossi
02 November, 2024

zero-day-vision-helpdesk-banner.png

Wat is Vision Helpdesk?

Vision Helpdesk is software voor helpdesk- en klantenondersteuning die is ontworpen om de dienstverlening van bedrijven te optimaliseren. Het biedt functies zoals ticketbeheer, incidenttracking en automatisering van klantenservice. Vision Helpdesk wordt wereldwijd gebruikt door organisaties, van startups tot grote bedrijven, om klantvragen efficiënt af te handelen. Met integratie van diverse communicatiekanalen biedt Vision Helpdesk een aantrekkelijke oplossing voor bedrijven van verschillende omvang.

Het Responsible Disclosure-proces en de reactie van de leverancier

Bij WebSec B.V. hanteren we strikte ethische richtlijnen bij het behandelen van beveiligingsproblemen. We zorgen ervoor dat leveranciers worden geïnformeerd over kwetsbaarheden en voldoende tijd krijgen om deze op te lossen, voordat we overgaan tot volledige openbaarmaking. Ons proces begon met het indienen van een rapport over een kritieke kwetsbaarheid bij Vision Helpdesk, waarin een Insecure Direct Object Reference (IDOR) kwetsbaarheid werd aangetoond.

Communicatietijdlijn:

  • 17 september (Leverancier):
    Vision Helpdesk bevestigde de ontvangst van ons initiële kwetsbaarheidsrapport, informeerde ons dat het probleem was doorgegeven aan hun beveiligingsteam, en markeerde het ticket als kritiek.

  • 21 september (Leverancier):
    De leverancier reageerde opnieuw, maar toonde een misverstand over het probleem. In plaats van de kwetsbaarheid in hun code aan te pakken, vroegen ze om toegang tot een server waarop ze dachten dat onze helpdesk werd gehost. Dit gaf aan dat er verwarring was, omdat de kwetsbaarheid verband hield met hun software en niet met een specifieke server.

  • 21 september (WebSec):
    We reageerden snel en verduidelijkten dat we beveiligingsonderzoekers zijn en geen helpdesk beheren. We benadrukten dat het probleem in hun software lag, gaven extra details en vroegen hen om de kwetsbaarheid direct op te lossen.

  • 8 oktober (WebSec):
    Na meer dan twee weken zonder concreet vervolg van de leverancier, stuurden we een nieuwe melding waarin we de ernst van de kwetsbaarheid uitlegden en een duidelijke deadline stelden op 1 november 2024 om het probleem op te lossen. We waarschuwden dat we, indien er geen actie werd ondernomen, over zouden gaan tot Full Disclosure om de betrokken gebruikers zelf te beschermen.

  • Na 8 oktober:
    Vision Helpdesk reageerde niet meer op enige van onze meldingen na 8 oktober. Ondanks de ernst van het probleem en de duidelijke deadline om het op te lossen, stopten ze alle verdere communicatie.

Zonder reactie van de leverancier op 1 november, zijn we gestart met het direct informeren van hun klanten.

Opschaling: Het informeren van Vision Helpdesk-klanten en het indienen van CVE- en Exploit-DB-verzoeken

Nadat Vision Helpdesk de deadline van 1 november 2024 had gemist, hebben we de situatie opgeschaald. Met behulp van tools zoals Shodan.io en Google Dorks identificeerden we verschillende prominente klanten die Vision Helpdesk gebruikten en mogelijk kwetsbaar waren voor de exploit. Onder deze klanten bevonden zich een grote defensiecontractant en een bekende universiteit.

We namen direct contact op met deze klanten en legden de kwetsbaarheid en het bijbehorende risico uit. Twee van deze klanten namen onmiddellijk maatregelen om het probleem aan te pakken, hoewel we niet zeker weten welke klant welke actie ondernam. Een van hen verwijderde mogelijk het kwetsbare script volledig of implementeerde een IP-whitelist om de toegang tot het helpdeskplatform te beperken en zo ongeoorloofde toegang te voorkomen.

Daarnaast hebben we op 1 november een CVE-verzoek ingediend bij MITRE om ervoor te zorgen dat de kwetsbaarheid wordt gevolgd en erkend door de wereldwijde beveiligingsgemeenschap. Daarnaast hebben we ook ons Proof-of-Concept ingediend bij Exploit-DB, zodat de bredere beveiligingsgemeenschap de benodigde informatie heeft om de kwetsbaarheid te begrijpen en aan te pakken.

Op 2 november hebben we ook de Proof-of-Concept exploit vrijgegeven op onze GitHub-pagina, zodat gebruikers hun eigen installaties op deze kwetsbaarheid kunnen testen.

De impact: Het verkleinen van het publieke aanvalsoppervlak

Door direct contact op te nemen met de klanten van Vision Helpdesk en de kwetsbaarheidsdetails in te dienen bij CVE, Exploit-DB en GitHub, denken we dat we het publieke aanvalsoppervlak voor deze kwetsbaarheid aanzienlijk hebben verkleind. Naarmate organisaties het kwetsbare systeem offline haalden of extra beveiligingsmaatregelen implementeerden, namen de kansen op exploitatie af. Nu er geen oplossing is van de leverancier, gaan we over tot volledige openbaarmaking van deze kwetsbaarheid om bewustwording te verspreiden en andere gebruikers te helpen hun systemen te beveiligen.

De technische details: Serialized IDOR en de impact van sessievoorspelling

Laten we nu ingaan op het technische aspect van deze kwetsbaarheid.

De kern van deze kwetsbaarheid ligt in hoe Vision Helpdesk cookies beheert, in het bijzonder de vis_client_local cookie. Normaal gesproken worden in webapplicaties cookies zoals sessie-ID’s aangemaakt wanneer een gebruiker zich authentiseert om hun sessie te beheren. In dit geval kon de vis_client_local cookie echter worden gegenereerd zonder inloggen.

Serialized IDOR

Deze kwetsbaarheid is een Serialized IDOR (Insecure Direct Object Reference). Een IDOR-kwetsbaarheid ontstaat wanneer gebruikersinput (in dit geval de vis_client_id) kan worden aangepast om ongeoorloofde bronnen te benaderen.

In Vision Helpdesk is de vis_client_local cookie een geserialiseerd object, gecodeerd in Base64, dat gebruikersspecifieke attributen bevat, waaronder de vis_client_id, die de gebruiker uniek identificeert. Het probleem hier is dat de vis_client_id eenvoudig kan worden gemanipuleerd door een aanvaller.

  1. Cookie-structuur:
    De vis_client_local cookie is een Base64-gecodeerde string die een geserialiseerd object vertegenwoordigt. Dit object bevat gebruikersspecifieke attributen, zoals de vis_client_id. De vis_client_id is een statisch veld dat de huidige gebruiker in het systeem identificeert.

  2. Manipuleren van de cookie:
    Door de Base64-gecodeerde string in de vis_client_local cookie te extraheren en te decoderen, konden we het geserialiseerde object zien. Het sleutelveld om hier te misbruiken was de vis_client_id.
    We hebben deze waarde aangepast, met één verhoogd of verlaagd om een andere gebruiker in het systeem te imiteren. Nadat we dit hadden aangepast, hebben we het object opnieuw gecodeerd in Base64 en de oorspronkelijke vis_client_local waarde vervangen door de nieuwe.

  3. Sessieovername via sessievoorspelling:
    De impact van deze Serialized IDOR-kwetsbaarheid is sessievoorspelling. Door geldige vis_client_id-waarden te raden of in te voeren, kan een aanvaller zelf geldige sessiecookies samenstellen. Dit stelt de aanvaller in staat om andere gebruikers te imiteren zonder hun authenticatie, omdat de server de gemodificeerde vis_client_local cookie als een geldige sessie beschouwt.

    In tegenstelling tot typische sessiebeheermechanismen die voorspelbare sessie-ID’s voorkomen, stelt het systeem van Vision Helpdesk een aanvaller in staat om een geldige sessie aan te maken door alleen de vis_client_id-waarde aan te passen. Dit resulteert in sessievoorspelling, waardoor ongeoorloofde toegang zonder gebruikersinteractie mogelijk wordt.

Deze combinatie van Serialized IDOR en de impact van sessievoorspelling verhoogt de ernst van de kwetsbaarheid, omdat aanvallers gebruikers kunnen imiteren zonder authenticatie, wat een groot beveiligingsrisico vormt.

Download de Proof-of-Concept

Om systeembeheerders en beveiligingsteams te helpen verifiëren of hun versie van Vision Helpdesk kwetsbaar is voor deze exploit, hebben we een downloadbare Proof-of-Concept (PoC)-script beschikbaar gesteld. U kunt dit script gebruiken om uw installatie te testen en vast te stellen of deze is getroffen door de Serialized IDOR-kwetsbaarheid die in dit artikel wordt beschreven.

Download de Proof-of-Concept Script

Gebruik deze PoC verantwoordelijk en test alleen systemen waarvoor u bevoegd bent. Als uw systeem kwetsbaar is, raden we sterk aan om onmiddellijk actie te ondernemen, zoals het uitschakelen van het getroffen script of het implementeren van toegangscontrolemaatregelen zoals een IP-whitelist totdat de leverancier een patch vrijgeeft.

Conclusie: Overgaan naar Full Disclosure

Nu Vision Helpdesk het probleem niet tijdig heeft opgelost en we al contact hebben gehad met getroffen klanten, vinden we het noodzakelijk om over te gaan tot volledige openbaarmaking van deze kwetsbaarheid. We hopen dat door het bewustzijn te vergroten, andere gebruikers van Vision Helpdesk stappen zullen ondernemen om zichzelf te beveiligen tegen dit ernstige probleem.

We dringen er bij gebruikers van Vision Helpdesk op aan om onmiddellijk actie te ondernemen—ofwel door het kwetsbare script uit te schakelen of door contact op te nemen met de leverancier en een oplossing te eisen.

Bij WebSec B.V. blijven we toegewijd aan ethisch hacken en responsible disclosure, en we hopen dat deze casus herinnert aan het belang van goede beveiligingscommunicatie en snelle reactie op kwetsbaarheden.

Blijf waakzaam, blijf veilig.

Neem voor meer informatie of als u benieuwd bent naar de beveiliging van uw applicaties, neem contact op via websec.nl/contact. Lees meer over onze pentestdiensten die kwetsbaarheden helpen voorkomen op websec.nl/diensten/pentest.

Authored By
Joel Aviad Ossi

Managing Director

Deel met de wereld!

Beveiligingsbehoeften?

Bent u er echt zeker van dat uw organisatie veilig is?

Bij WebSec helpen we u deze vraag te beantwoorden door geavanceerde beveiligingsbeoordelingen uit te voeren.

Wil je meer weten? Plan een gesprek in met een van onze experts.

Afspraak Inplannen
Authored By
Joel Aviad Ossi

Managing Director