CVE-2026-9843: Filsletning i WordPress-formularplugin
Sårbarhed i WordPress-pluginnet Database for Contact Form 7, WPforms, Elementor forms lader angribere slette filer og potentielt overtage sitet. Opdatér pluginnet.
Hvad er det?
CVE-2026-9843 er en sårbarhed i WordPress-pluginnet Database for Contact Form 7, WPforms, Elementor forms, som bruges til at gemme og administrere indsendte formularer. Fejlen ligger i funktionen view_page og skyldes en såkaldt path traversal (CWE-22): pluginnet validerer ikke tilstrækkeligt, hvilken filsti det får angivet, når det skal slette en fil. En angriber kan derfor snyde pluginnet til at slette filer uden for den mappe, det er beregnet til at arbejde i, herunder centrale WordPress-filer.
Hvem rammer det?
Alle WordPress-sites, der bruger pluginnet Database for Contact Form 7, WPforms, Elementor forms i version 1.5.1 eller ældre, er ramt. Det gælder typisk danske virksomheder og kommuner, der bruger Contact Form 7, WPforms eller Elementor forms til kontaktformularer og gemmer indsendelserne i en tilhørende database via dette plugin.
Hvad kan ske?
En uautentificeret angriber kan indsende en formular med en manipuleret JSON-nøgle, der udnytter en fejl i PHP’s parsing af firkantede parenteser til at omgå pluginnets kontrol af den gemte filsti. Når en administrator senere blot åbner eller redigerer den forgiftede formularindsendelse i wp-admin, udløses sletningen af en filsti, angriberen selv har valgt. Slettes fx wp-config.php, mister WordPress sin database-forbindelse og starter installationsguiden på ny, hvilket giver angriberen mulighed for at sætte sin egen database op og dermed overtage sitet fuldstændigt.
Hvor alvorligt er det?
CVSS-scoren er 8,1 af 10, alvorlig. Angrebet kræver ikke login og kan udføres over internettet med lav kompleksitet, men det kræver, at en administrator efterfølgende åbner eller redigerer den ondsindede formularindsendelse. Der stjæles ikke data (fortrolighed er ikke påvirket), men både integritet og driftsstabilitet rammes hårdt, fordi vilkårlige filer kan slettes, og det i værste fald åbner for fuld overtagelse af sitet. Der er ikke oplysninger om aktiv udnyttelse på offentliggørelsesdatoen.
Hvad gør jeg nu?
Sådan lukker I hullet og begrænser skaden:
- Opdatér pluginnet Database for Contact Form 7, WPforms, Elementor forms til den nyeste version, der ikke er sårbar. Er der ikke udgivet en fikset version endnu, deaktivér pluginnet, til den kommer.
- Gennemgå ventende formularindsendelser i wp-admin, og slet ukendte eller mistænkelige indsendelser uden at åbne dem for redigering.
- Tag en frisk backup af hele sitet, inklusive database og filer, så I kan gendanne, hvis en fil allerede er slettet.
- Kontrollér, om centrale filer som wp-config.php stadig findes og er intakte.
- Begræns, hvem der har administratorrettigheder, og undgå at gennemse formularindsendelser fra en administratorkonto, indtil pluginnet er opdateret.
- Er sitet allerede påvirket, eller er I i tvivl om, hvorvidt filer er slettet, bør I hente hjælp fra en it-sikkerhedsrådgiver til at gennemgå og genoprette sitet sikkert.
Opdatér pluginnet inden for få dage
Vi anbefaler, at I opdaterer pluginnet Database for Contact Form 7, WPforms, Elementor forms til nyeste version så hurtigt som muligt, da angrebet ikke kræver login og kan sættes op automatisk via botnetværk. Det er kun i orden at vente, hvis pluginnet er deaktiveret eller sitet ikke bruger den tilhørende database-funktion. Er I i tvivl om, hvorvidt I allerede er ramt, bør I gennemgå formularindsendelser og filintegritet, før I fortsætter almindelig drift.
Tidslinje
Konkrete eksempler
Kontaktformular bruges som indgang
En dansk virksomhed bruger Contact Form 7 sammen med pluginnet Database for Contact Form 7 til at gemme kundehenvendelser. En angriber indsender en formular med en manipuleret JSON-nøgle. Da en medarbejder i marketingafdelingen senere åbner indsendelsen i wp-admin for at besvare kunden, udløses sletningen af wp-config.php, hvorefter sitet går ned og viser WordPress’ installationsguide, som angriberen derefter bruger til at sætte sin egen database op.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis jeres WordPress-site bruger pluginnet Database for Contact Form 7, WPforms, Elementor forms i version 1.5.1 eller ældre. Tjek pluginversionen under Plugins i wp-admin.
Kan vi vente til weekenden med at opdatere?
Vi anbefaler ikke at vente, fordi angrebet ikke kræver login og kan forberedes automatisk, mens I venter. Skaden udløses først, når en administrator åbner den forgiftede indsendelse, så I bør opdatere og undgå at åbne ukendte formularindsendelser i mellemtiden.
Hvordan tjekker vi, om vi allerede er blevet ramt?
Se efter, om centrale filer som wp-config.php eller andre kernefiler stadig findes og har det forventede indhold. Har sitet uventet vist en installationsguide eller er database-forbindelsen mistet, kan det være et tegn på, at en fil er slettet.
Skal vi anmelde dette som et sikkerhedsbrud?
Kun hvis I konstaterer, at der faktisk er sket sletning af filer eller uautoriseret adgang, og persondata er blevet kompromitteret eller utilgængelige. Vurderingen bør ske efter en konkret gennemgang af sitet og eventuelt i samråd med en databeskyttelsesansvarlig.
Er sårbarheden udnyttet i praksis?
Der er ingen oplysninger om aktiv udnyttelse på offentliggørelsesdatoen, men det udelukker ikke, at det sker senere, da sårbarheden er offentligt beskrevet og relativt let at udnytte.
Hvad gør vi, hvis vi ikke kan opdatere pluginnet lige nu?
Deaktivér pluginnet midlertidigt, eller begræns, hvem der kan tilgå wp-admin og gennemse formularindsendelser, indtil en opdatering kan installeres.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
The Database for Contact Form 7, WPforms, Elementor forms plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the view_page function in all versions up to, and including, 1.5.1. This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). Successful exploitation requires an administrator to view or edit the poisoned form entry, at which point PHP’s bracket parser reshapes the attacker-crafted JSON key to bypass the stored-path isset check and trigger deletion of the traversal-specified file.
Referencer & kilder
Eksterne kilder
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.