Het CERT Coördinatiecentrum (CERT/CC) heeft twee niet-gepatchte kwetsbaarheden in Kaltura’s HTML5-videospelerbibliotheek onthuld, waardoor een externe, niet-geverifieerde aanvaller willekeurige bestanden van een server kan lezen en er code op kan uitvoeren.
De gebreken, bijgehouden als CVE-2026-19913 En CVE-2026-19912beide komen voort uit dezelfde onveilige deserialisatie in de mwEmbedLoader.php eindpunt van de mwEmbed-spelerbibliotheek, die Kaltura ook distribueert als html5lib.
Geen van beide vereist authenticatie of een Kaltura-sessietoken, en netwerktoegang tot het eindpunt is de enige voorwaarde voor CERT/CC-statussen.
Er is geen patch beschikbaar en CERT/CC zei dat het “Kaltura niet kon bereiken om deze kwetsbaarheden te coördineren”. Beheerders wordt geadviseerd externe toegang tot het eindpunt te beperken of uit te schakelen en een strikte toelatingslijst voor het eindpunt af te dwingen ServiceUrl parameter die alleen legitieme backend-API-URL’s toestaat.
Op het moment van schrijven was er geen melding gemaakt van uitbuiting, en geen van beide CVE verscheen op 25 augustus 2026 in de Known Exploited Vulnerabilities (KEV)-catalogus van CISA.
CERT/CC beschrijft Kaltura als een videoplatform dat tools biedt voor videobeheer, publicatie, afspelen en integratie met webapplicaties. De kwetsbare lader is zichtbaar op installaties van klanten en op Kaltura’s eigen gedeelde productiehosts.
“Omdat het getroffen eindpunt ook zichtbaar is op de gedeelde, multi-tenant CDN-infrastructuur van Kaltura, treffen deze kwetsbaarheden niet alleen individuele klantinstallaties, maar ook elke huurder die door deze gedeelde hosts wordt bediend”, aldus CERT/CC in de kwetsbaarheidsnota.
Het probleem met het lezen van bestanden, CVE-2026-19913begint met de ServiceUrl parameter, welke mwEmbedLoader.php accepteert en gebruikt als doel-URL voor backend-API-verzoeken. De KalturaClientBase De PHP-client haalt alles op wat de URL retourneert en geeft dit door aan PHP’s unserialize() zonder de bron, het schema of de inhoud te valideren.
Het leveren van een file:// path zorgt ervoor dat de server een lokaal bestand ophaalt in plaats van een API-antwoord. De deserialisatiepoging mislukt dan. De onbewerkte bytes van het opgehaalde bestand worden teruggekoppeld naar de aanvrager in het resulterende foutbericht.
Gerjan Wemekamp, de AndDone-onderzoeker die beide fouten heeft gemeld, zei in een technisch artikel dat dinsdag werd gepubliceerd dat hij het gelezen bestand escaleerde door de Kaltura-applicatieconfiguratie op te halen op /opt/kaltura/app/configurations/local.inidat databaseverbindingsreeksen in platte tekst, beheerders- en consolewachtwoorden en interne hostreferenties bevat.
Het tweede gebrek, CVE-2026-19912zet dezelfde deserialisatie om in code-uitvoering via de uiconf_id request-parameter, die zonder opschoning aan het pad van de cachemap wordt toegevoegd wanneer de toepassing naar schijf schrijft.
Een aanvaller wijst ServiceUrl op een kwaadaardig geserialiseerd object met uitvoerbare PHP-code. De client haalt het op en deserialiseert het. A uiconf_id waarde die traversale reeksen bevat, zoals ../ stuurt vervolgens het schrijven om buiten de beoogde cachemap en naar een webtoegankelijke map. Als u dat bestand opvraagt, wordt het rechtstreeks uitgevoerd als de webservergebruiker.
“De stap voor het neerzetten van bestanden is afhankelijk van de op bestanden gebaseerde cache-backend, wat de standaard van Kaltura is. Een configuratie met alleen memcache kan het schrijven en dus dat specifieke RCE-pad onderdrukken. Dat maakt de implementatie echter niet veilig”, aldus Wemekamp.
Omdat er geen vaste versie hoeft te worden geïnstalleerd, worden beheerders van de speler geadviseerd de volgende stappen uit te voeren:
- Blokkeer of verwijder het eindpunt bij de WAF, reverse proxy of CDN waar oudere mwEmbed-spelers niet worden bediend.
- Toelatingslijst
ServiceUrlwaardoor alleen de eigen API-host van de implementatie wordt toegestaan en niet-HTTP(S)-schema’s worden afgewezen. - Afwijzen
uiconf_idwaarden met doorloopreeksen, absolute paden of mapscheidingstekens. - PHP-uitvoering weigeren in cachemappen.
- Beperk uitgaande netwerktoegang van de applicatieserver, die het code-uitvoeringspad nodig heeft om de payload op te halen.
- Draai alles erin
local.iniwaar het eindpunt is blootgelegd, inclusief databasereferenties, beheerders- en consolewachtwoorden, partnergeheimen en API-sleutels.
CERT/CC vermeldt de betrokken releases als html5lib v2.45, v2.103 en eerder, en andere v2.x-releases die het kwetsbare eindpunt blootleggen.
Wemekamp scoorde CVE-2026-19912 op 10,0 en CVE-2026-19913 op 9,1, waarbij hij beide in zijn artikel bestempelde als door een verslaggever toegewezen. CERT/CC publiceerde voor geen van beide fouten een score, en er was op 25 augustus 2026 geen NVD-record voor beide identificaties.
NIST zei in april dat het niet langer elke CVE verrijkt, maar prioriteit geeft aan die in de KEV-catalogus, software die binnen de federale overheid wordt gebruikt en software die als cruciaal is aangemerkt onder Executive Order 14028.
De onderzoeker was expliciet in wat hij wel en niet demonstreerde.
“Om precies te zijn over de reikwijdte: de end-to-end webshell-drop werd gedemonstreerd op de Kaltura Server docker-image uit 2019. Wat ik in de huidige release heb geverifieerd, is dat beide helften van de keten aanwezig zijn en dat de deserialisatiehelft nog steeds wordt uitgevoerd zoals beschreven”, aldus Wemekamp.
The Hacker News heeft dat op 25 augustus geverifieerd in de openbare serverrepository van Kaltura deployment/uiconf/KalturaClientBase.phphet bestand met de unserialize() call, is byte-identiek in 21 release-referenties, van Jupiter-10.9.0, vastgelegd op 27 april 2015, tot West-23.5.0, vastgelegd op 13 augustus 2026. De call en de reflectie van de foutmelding verschijnen nog eerder, in een release-referentie vastgelegd op 10 maart 2014.
Kaltura heeft eerder onveilige deserialisatie uit zijn codebasis gehaald. In augustus 2017, weken voorafgaand aan een advies van Telekom Security over drie tekortkomingen in het platform, heeft het bedrijf een commit verzonden die drie onveilige niet-geserialiseerde oproepen verwijderde, en de leverancier repareerde deze problemen in release 13.2.0. Die commit had betrekking op drie dossiers, en geen daarvan was dat KalturaClientBase.php.
Onveilige deserialisatie zonder beschikbare oplossing heeft zich dit jaar elders herhaald. In juli werd Fastjson 1.x het doelwit van aanvallen met een andere niet-gepatchte deserialisatiefout, zonder dat er destijds een gepatcht 1.x-artefact werd gepubliceerd.
Kaltura’s gepubliceerde security.txt, voor het laatst bijgewerkt op 28 mei 2024, stuurt kwetsbaarheidsrapporten naar een bugbounty-programma op HackerOne en vermeldt [email protected] voor beveiligingsvragen.
De tijdlijn van de onderzoeker registreert een eerste rapport aan een beveiligingscontactpersoon van de leverancier op 23 maart 2026. Hij stuurde het opnieuw vanaf een bedrijfsadres op 13 april. Hij nam op 23 mei contact op met de CISO van de leverancier op LinkedIn. Hij escaleerde de zaak via een nationaal CERT op 2 juli.
CERT/CC bracht Kaltura op 8 juli op de hoogte, en de notitie vermeldt de status van de leverancier voor beide CVE’s als Onbekend, zonder dat er een verklaring is ontvangen. Geen van beide bronnen vermeldt naar welk adres of kanaal de eerste rapporten zijn verzonden.