Vandaag werden we wakker in alweer een nieuwe wereld van Cybersecurity. Miljoenen websites overal ter wereld zijn “plots” kwetsbaar voor een totale overname van het systeem, inclusief alle aanwezige data. Ik heb het over de immer populaire Drupal CMS, een framework om zonder enige kennis van HTML toch op een vrij snelle manier een professioneel uitziende website te maken.
We mogen nochtans trots zijn: Drupal is van Belgische makelij, ontwikkeld door Dries Buytaert in 2000 met, niet toevallig, een “Druppel” als logo. Intussen draaien zo’n 10% van alle websites ter wereld op dit opensource PHP framework, Drupal heeft altijd security hoog in het vaandel gedragen.
SA-CORE-2018-002 is de interne code. De “core” oftewel de basis van het platform, bevat namelijk een fout van het type Unauthenticated Remote Code Execution. Het is m.a.w. mogelijk om, zonder enige voorkennis van de organisatie, in te breken op een server en dus alle gegevens op die server buit te maken. En dit vanaf de veilige anonimiteit van het internet…
Erger dan dit wordt het niet, dit valt onder de categorie: website onmiddellijk offline halen en aanpassen of u wordt gehackt.
De fout bevindt zich in het onvolledig controleren op invoer van de gebruikers (zogenaamde “input validation”). Deze is al aanwezig in de code sinds Drupal 6, dat is sinds februari 2008, ruim 10 jaar dus! Waarbij we ons terecht moeten afvragen, hoe is zo’n fout nog mogelijk in 2018? Van een organisatie die een vast team heeft van 34 personen sterk dat zich specifiek met Drupal Security moet bezig houden?
De fout wordt nu al “Drupageddon2” genoemd naar analogie van de Drupageddon fout in 2015. De fout uit 2015, zoals door mijzelf al een aantal keer gedemonstreerd op diverse sessies, is zelfs minder erg dan deze: ze laat toe dat iemand een beheerdersaccount aanmaakt op Drupal. Drupageddon2 is dus een stuk serieuzer en biedt zelfs mogelijkheden naar malware en afpersing…
En toch wil ik afsluiten met een pleit om bij Drupal, WordPress, Joomla en andere platformen te blijven. Niemand is namelijk vrij van fouten, geen enkele persoon of organisatie, groot of klein is foutloos. Er zijn tal van recente voorbeelden: gisteren Microsoft die via een update van Windows 7 ervoor zorgde dat iedereen aan alle data kan, of eind vorig jaar Apple die iedereen als root laat inloggen. Iedereen heeft dus recht op fouten, het verschil is de reactie die erop gegeven wordt en hierin ligt de grote sterkte van bekende platformen en bedrijven.
Drupal heeft de hele zaak namelijk correct behandeld: van zodra ze op de hoogte waren van de fout hebben ze zichzelf een week gegeven om én de klanten op de hoogte brengen van de aankomende fout (en update) én zelf een goede update te maken alvorens die te verdelen. Die manier van omgaan met fouten in de eigen software is toe te juichen en geeft een goede evolutie aan.
Niemand is foutloos zolang we er maar uit leren …