Nieuwe fouten in virtuele Citrix-apps maken RCE-aanvallen mogelijk via MSMQ-misconfiguratie

Cybersecurity-onderzoekers hebben nieuwe beveiligingsfouten onthuld die van invloed zijn op Citrix Virtual Apps and Desktop en die kunnen worden uitgebuit om niet-geverifieerde uitvoering van externe code (RCE) te bewerkstelligen.

Het probleem is volgens de bevindingen van watchTowr geworteld in de sessie-opnamecomponent waarmee systeembeheerders gebruikersactiviteit kunnen vastleggen en toetsenbord- en muisinvoer kunnen opnemen, samen met een videostream van de desktop voor audit-, compliance- en probleemoplossingsdoeleinden.

De kwetsbaarheid maakt met name misbruik van de “combinatie van een onzorgvuldig blootgestelde MSMQ-instantie met verkeerd geconfigureerde machtigingen die gebruikmaken van BinaryFormatter en kan vanaf elke host via HTTP worden bereikt om niet-geverifieerde RCE uit te voeren”, aldus beveiligingsonderzoeker Sina Kheirkhah.

De details van de kwetsbaarheid worden hieronder vermeld –

  • CVE-2024-8068 (CVSS-score: 5,1) – Escalatie van bevoegdheden naar toegang tot NetworkService Account
  • CVE-2024-8069 (CVSS-score: 5.1) – Beperkte uitvoering van code op afstand met het privilege van toegang tot een NetworkService Account

Citrix merkte echter op dat succesvolle exploitatie vereist dat een aanvaller een geverifieerde gebruiker is in hetzelfde Windows Active Directory-domein als het domein van de sessie-opnameserver en op hetzelfde intranet als de sessie-opnameserver. De defecten zijn verholpen in de volgende versies:

  • Citrix virtuele apps en desktops vóór 2407 hotfix 24.5.200.8
  • Citrix virtuele apps en desktops 1912 LTSR vóór CU9 hotfix 19.12.9100.6
  • Citrix virtuele apps en desktops 2203 LTSR vóór CU5 hotfix 22.03.5100.11
  • Citrix virtuele apps en desktops 2402 LTSR vóór CU1 hotfix 24.02.1200.16

Het is vermeldenswaard dat Microsoft er bij ontwikkelaars op heeft aangedrongen om te stoppen met het gebruik van BinaryFormatter voor deserialisatie, vanwege het feit dat de methode niet veilig is bij gebruik met niet-vertrouwde invoer. Een implementatie van BinaryFormatter is vanaf augustus 2024 verwijderd uit .NET 9.

“BinaryFormatter werd geïmplementeerd voordat deserialisatiekwetsbaarheden een goed begrepen bedreigingscategorie waren”, merkt de technologiegigant op in zijn documentatie. “Als gevolg hiervan volgt de code niet de moderne best practices. BinaryFormatter.Deserialize kan kwetsbaar zijn voor andere aanvalscategorieën, zoals het vrijgeven van informatie of het uitvoeren van code op afstand.”

De kern van het probleem is de Session Recording Storage Manager, een Windows-service die de opgenomen sessiebestanden beheert die worden ontvangen van elke computer waarop de functie is ingeschakeld.

Terwijl de Storage Manager de sessie-opnamen ontvangt als berichtbytes via de Microsoft Message Queuing (MSMQ)-service, bleek uit de analyse dat een serialisatieproces wordt gebruikt om de gegevens over te dragen en dat de wachtrij-instantie overmatige bevoegdheden heeft.

Tot overmaat van ramp worden de gegevens die uit de wachtrij worden ontvangen, gedeserialiseerd met behulp van BinaryFormatter, waardoor een aanvaller de onveilige machtigingen kan misbruiken die tijdens het initialisatieproces zijn ingesteld om speciaal vervaardigde MSMQ-berichten door te geven die via HTTP via internet worden verzonden.

“We weten dat er een MSMQ-instantie is met verkeerd geconfigureerde machtigingen, en we weten dat deze de beruchte klasse BinaryFormatter gebruikt om deserialisatie uit te voeren”, zei Kheirkhah, waarin hij de stappen voor het creëren van een exploit uiteenzette. “De kers op de taart is dat het niet alleen lokaal kan worden bereikt, via de MSMQ TCP-poort, maar ook vanaf elke andere host, via HTTP.”

“Deze combinatie zorgt voor een goede oude, niet-geverifieerde RCE”, voegde de onderzoeker eraan toe.

Thijs Van der Does