Cybersecurity-onderzoekers hebben een zestal kwetsbaarheden ontdekt in protobuf.js, een JavaScript- en TypeScript-implementatie van Protocol Buffers (Protobuf), die, als ze succesvol worden uitgebuit, kunnen resulteren in Remote Code Execution (RCE) en Denial-of-Service (DoS)-aanvallen.
“In getroffen omgevingen kan een enkel kwaadaardig protobuf-schema, descriptor of een vervaardigde payload voldoende zijn om crashes, runtime-corruptie of zelfs code-uitvoering te veroorzaken”, aldus Cyera-beveiligingsonderzoeker Assaf Morag. De kwetsbaarheden hebben een codenaam gekregen Proto6.
Protobuf is een gratis en open-source, taalonafhankelijk mechanisme voor het serialiseren van gestructureerde gegevens. Het werd oorspronkelijk intern ontwikkeld en gebruikt door Google voordat het in 2008 openbaar beschikbaar werd gemaakt.
De geïdentificeerde kwetsbaarheden zijn van invloed op Node.js-applicaties die protobuf.js gebruiken, Google Cloud-clientbibliotheken, berichtenframeworks zoals Baileys en CI/CD-pijplijnen. Volgens Cyera wordt waarschijnlijk ook elke Node.js-service getroffen die Protobuf-gegevens deserialiseert of code genereert op basis van schema’s met protobuf.js.
Hieronder vindt u een korte beschrijving van elk van de tekortkomingen:
- CVE-2026-44289 (CVSS-score: 7,5): DoS via onbegrensde protobuf-recursie
- CVE-2026-44290 (CVSS-score: 7,5): Procesbrede DoS bij het laden van schema’s met onveilige optiepaden
- CVE-2026-44291 (CVSS-score: 8,1): Gadget voor het genereren van codes na vervuiling van het prototype
- CVE-2026-44292 (CVSS-score: 5,3): Prototype-injectie in gegenereerde berichtconstructors
- CVE-2026-44294 (CVSS-score: 5,3): DoS van vervaardigde veldnamen in gegenereerde code
- CVE-2026-44295 (CVSS-score: 8,7): Code-injectie in pbjs statische uitvoer van vervaardigde schemanamen
Cyera zei dat alle kwetsbaarheden voortkomen uit de manier waarop de bibliotheek omgaat met schema’s en metagegevens zoals deze standaard worden vertrouwd. Dit toezicht op de validatie kan het gedrag van de applicatie beïnvloeden en tot code-uitvoering leiden.
“Hoewel de exploitatie van deze kwetsbaarheden over het algemeen specifieke omstandigheden vereist, komen deze omstandigheden steeds vaker voor in data- en AI-ecosystemen die routinematig gegevens, schema’s en configuratiebestanden uitwisselen tussen services, opslagplaatsen, cloudplatforms en integraties van derden”, aldus Morag.
In een potentieel aanvalsscenario zou een slechte actor een kwaadaardig protobuf-schema kunnen introduceren om CI/CD-workflows te vergiftigen, waarbij bouwgeheimen in het proces kunnen lekken (CVE-2026-44295), of Node.js-services kunnen laten crashen, zoals WhatsApp-bots die zijn gebouwd met Baileys, een WhatsApp Web API-automatisering TypeScript-bibliotheek, door middel van een speciaal vervaardigd bericht (CVE-2026-44292).
De meest ernstige van allemaal is CVE-2026-44291, wat resulteert in het uitvoeren van code wanneer een Node.js-applicatie door een aanvaller bestuurde invoer accepteert.
“Die input bereikt een prototype van een vervuilingsgadget”, legt veiligheidsonderzoeker Vladimir Tokarev uit. “Later gebruikt hetzelfde proces protobuf.js om een bericht te coderen of te decoderen. Omdat protobuf.js typenamen oplost via gewone zoekopdrachten naar eigenschappen, kan een vervuild Object.prototype een door de aanvaller bestuurde string eruit laten zien als een geldige protobuf-primitief.”
“Protobuf.js voegt die string vervolgens in een gegenereerde encoder- of decoderfunctie in en compileert deze met Function(). De aanvaller krijgt willekeurige JavaScript-uitvoering binnen het Node.js-proces.”
De volgende versies van de tool zijn kwetsbaar:
- protobuf.js: versies <= 7.5.5 en >= 8.0.0 <= 8.0.1
- protobufjs-cli: versies <= 1.2.0 en >= 2.0.0 <= 2.0.1
Patches voor de fouten zijn beschikbaar in protobufjs 7.5.6 en 8.0.2, en protobufjs-cli 1.2.1 en 2.0.2. Gebruikers wordt geadviseerd om de nieuwste oplossingen toe te passen om zich te beschermen tegen mogelijke bedreigingen.
“Omdat protobuf.js intensief wordt gebruikt in databases, vectorstores, inferentiepijplijnen, orkestratiesystemen, CI/CD-tooling en cloud-SDK’s, kan succesvolle exploitatie op grote schaal impact hebben op gevoelige ondernemings- en AI-workloads”, aldus Cyera.
“Moderne software behandelt schema’s, metadata en configuratiebestanden steeds meer als vertrouwde invoer die automatisering, orkestratie en codegeneratie aanstuurt. Wanneer deze vertrouwensaannames breken, kunnen gegevens gedrag worden. Die verschuiving creëert nieuwe aanvalsoppervlakken die beveiligingsteams moeten leren identificeren en beheren.”