image

Drupal meldt actief misbruik van zeer kritiek SQL Injection-lek

vrijdag 22 mei 2026, 15:37 door Redactie, 4 reacties

De ontwikkelaars van het contentmanagementsysteem (CMS) Drupal waarschuwen voor actief misbruik van een zeer kritiek SQL Injection-lek (CVE-2026-9082). Via de kwetsbaarheid kan een aanvaller toegang tot informatie van websites krijgen. In bepaalde gevallen kan een aanvaller ook zijn rechten verhogen, code uitvoeren of zijn andere aanvallen mogelijk. Het probleem is zo ernstig dat Drupal met een aparte voorwaarschuwing kwam en afgelopen woensdag ook updates voor Drupal-versies uitbracht die end-of-life zijn.

Vandaag is het beveiligingsbulletin bijgewerkt en meldt het ontwikkelteam dat er actief misbruik is waargenomen. De risicoscore is ook verhoogd van 20 naar 23 op een schaal van 1 tot en met 25. Details over de aanvallen zijn niet gegeven. Eerder waarschuwde het ontwikkelteam al dat aanvallers mogelijk uren of dagen na het uitkomen van de patches misbruik van het lek zouden gaan maken.

Vanochtend meldde het Computer Security Incident Response Team van de Italiaanse overheid (CSIRT Italia) dat er proof-of-concept exploitcode, waarmee misbruik van het lek te maken is, op internet was verschenen. Meer dan een miljoen websites draaien op Drupal. Misbruik is alleen mogelijk wanneer sites voor hun database gebruikmaken van PostgreSQL.

Reacties (4)
22-05-2026, 23:04 door Anoniem
Dat ligt niet aan PostgreSQL maar aan de PHP houtje touwtje mentaliteit.
Ze hadden vooraf kunnen checken of alle queries geparametriseerd waren, dan had je het lek nooit gehad. Maar blijkbaar is zelfs dat nog te moeilijk. PHP programmeurs zijn lekker goedkoop ja, maar when you pay peanuts you get monkeys.
23-05-2026, 15:31 door Anoniem
De root cause zit in Drupal's core API (entity query-handling voor PostgreSQL): aanvallergestuurde array-keys vloeien naar SQL-placeholder-namen, waardoor arbitrary SQL injection ontstaat. Dit is een framework-implementatiebug, geen inherente PHP-problematiek.
Vandaag, 07:35 door Anoniem
Patch of upgrade direct naar een gepatchte core-versie: 11.3.10, 11.2.12, 11.1.10, 10.6.9, 10.5.10 of 10.4.10 (of pas de officiële patch toe op oudere branches indien nodig).

Als je niet meteen kunt patchen: blokkeer toegang tot getroffen eindpunten (bijv. /user/login?_format=json en JSON:API-routes) via WAF, webserverrules of API-gateway, en zet JSON:API tijdelijk in read-only of uit.

Zoek in logs naar verdachte verzoeken: POST naar /user/login?_format=json of JSON:API-requests met filter keys die brackets of payload-tekens bevatten (bijv. ||(, quotes, backticks) en SQLSTATE-fouten zoals HY093 of 22012. Alert op HTTP 500-responses rond die routes.
Vandaag, 08:51 door Anoniem
Door Anoniem: Dat ligt niet aan PostgreSQL maar aan de PHP houtje touwtje mentaliteit.
Ze hadden vooraf kunnen checken of alle queries geparametriseerd waren, dan had je het lek nooit gehad. Maar blijkbaar is zelfs dat nog te moeilijk. PHP programmeurs zijn lekker goedkoop ja, maar when you pay peanuts you get monkeys.
Joh, kijk even verder dan je neus lang is voordat je al je vooroordelen omzet in wilde aannames.

De fout zit in de database abstraction layer van Drupal. Die biedt een syntax voor geparameteriseerde queries die onafhankelijk is van het gebruikte DBMS. Die laag is weer gebouwd op PHP Data Objects, die die mogelijkheid ook al biedt, maar kennelijk hebben ze daar bij Drupal nog wat aan toegevoegd. Zowel PHP als Drupal hebben dus wel rekening gehouden met geparameteriseerde queries, het probleem is niet dat die niet werden toegepast, het probleem is wel dat in de implementatie ervan in Drupal voor PostgreSQL een bug zat.

Ik ben zelf in de loop van mijn loopbaan niet met PHP of Drupal, wel met diverse andere talen/frameworks/platforms in aanraking gekomen. Weet je wat je dan telkens weer tegenkomt? Dat een slechte ontwikkelaar met geweldig gereedschap makkelijk een puinhoop creëert en een goede ontwikkelaar met twijfelachtig gereedschap toch iets heel degelijks neer weet te zetten. Vertaal je oordeel over PHP niet in een oordeel over iedereen die het gebruikt, dat hoeft helemaal niet te kloppen.

Kijk altijd verder dan simpele vuistregels, die kloppen lang niet altijd, en vuistregels ontwikkelen zich tot vooroordelen als je er blind op vaart zonder ooit te kijken of ze eigenlijk (nog) wel kloppen.
Reageren
Ondersteunde bbcodes
Bold: [b]bold text[/b]
Italic: [i]italic text[/i]
Underline: [u]underlined text[/u]
Quote: [quote]quoted text[/quote]
URL: [url]https://www.security.nl[/url]
Config: [config]config text[/config]
Code: [code]code text[/code]

Je bent niet en reageert "Anoniem". Dit betekent dat Security.NL geen accountgegevens (e-mailadres en alias) opslaat voor deze reactie. Je reactie wordt niet direct geplaatst maar eerst gemodereerd. Als je nog geen account hebt kun je hier direct een account aanmaken. Wanneer je Anoniem reageert moet je altijd een captchacode opgeven.