CVE-2026-16098: Kritisk filupload-fejl i ProSolution WP Client
Kritisk sårbarhed i WordPress-plugin ProSolution WP Client (CVE-2026-16098) lader uautoriserede angribere uploade og køre kode på jeres server.
Hvad er det?
CVE-2026-16098 er en sårbarhed i WordPress-pluginnet ProSolution WP Client, der bruges til jobportaler og klienthåndtering. Fejlen ligger i funktionen proSol_handleFileUpload, som skal sikre, at kun godkendte filtyper kan uploades. Pluginnet tjekker filnavnet i den del af uploadanmodningen, som brugeren selv styrer, i stedet for det filnavn, systemet oprindeligt godkendte. Det gør det muligt at omgå kontrollen og gemme en fil med en farlig filtype, for eksempel et script, der kan udføres af serveren. Et efterfølgende tjek af filtypen sker for sent til at slette filen, efter den er gemt. Derudover offentliggør pluginnet ved en fejl den sikkerhedsnøgle (nonce), der normalt kræves for at bruge uploadfunktionen, på alle sider med jobportal-shortcoden. Det betyder, at en angriber ikke behøver at logge ind for at udnytte fejlen.
Hvem rammer det?
Sårbarheden rammer alle WordPress-websites, der har installeret ProSolution WP Client i version 2.0.10 eller ældre. Det er typisk virksomheder og organisationer, der bruger pluginnet til jobportaler eller kundehåndtering på deres hjemmeside. Risikoen er størst på sider, hvor jobportal-shortcoden vises for besøgende, da nøglen til uploadfunktionen dermed er tilgængelig for alle.
Hvad kan ske?
En angriber kan uploade en skadelig fil, for eksempel et script, der giver fuld kontrol over webserveren. Herfra kan angriberen ændre eller lukke hjemmesiden, stjæle data fra databasen, sprede malware til besøgende eller bruge serveren som afsæt for angreb på andre systemer. For en dansk virksomhed kan det betyde nedetid, tab af kundedata og et omdømmetab, hvis hjemmesiden bliver misbrugt til svindel eller spam.
Hvor alvorligt er det?
CVSS-scoren er 9,8 ud af 10, hvilket er den højeste alvorlighedsgrad. Angrebet kræver ikke login, ingen handling fra en bruger og kan udføres over internettet uden særlig teknisk kompleksitet. Den sikkerhedsnøgle, der normalt skulle begrænse adgangen til uploadfunktionen, er offentligt tilgængelig, så beskyttelsen er reelt ikke aktiv. Der findes en offentlig teknisk beskrivelse af fejlen, men vi har ikke oplysninger om, at den aktivt udnyttes i angreb endnu.
Hvad gør jeg nu?
Det vigtigste er at fjerne muligheden for uautoriseret filupload hurtigst muligt.
- Opdatér ProSolution WP Client til en version nyere end 2.0.10, hvis en opdatering er udgivet. Er der ingen opdatering tilgængelig, skal pluginnet deaktiveres, indtil en rettelse findes.
- Gennemgå upload-mapper på serveren for filer med usædvanlige navne eller filtyper, der ikke burde ligge der.
- Undersøg webserverens logfiler for forespørgsler til proSol_handleFileUpload eller lignende uploadfunktioner fra ukendte kilder.
- Skift adgangskoder til WordPress-administratorer og databasebrugere, hvis der er tegn på misbrug.
- Overvej at spærre adgang til uploadfunktionen på webserverniveau, indtil pluginnet er opdateret eller fjernet permanent.
- Kontakt en it-sikkerhedsrådgiver, hvis I finder tegn på, at fejlen allerede er udnyttet, eller hvis I ikke selv kan verificere, at hjemmesiden er ren.
Luk hullet inden for 24 timer
Vi anbefaler, at ProSolution WP Client deaktiveres eller opdateres med det samme, da sårbarheden kan udnyttes uden login og med lav teknisk indsats. Det er ikke forsvarligt at vente til en planlagt opdateringsrunde, når kritikaliteten og adgangsbarrieren er så lav. Er pluginnet ikke i aktiv brug på jeres hjemmeside, kan det med fordel afinstalleres helt i stedet for blot at deaktiveres.
Tidslinje
Konkrete eksempler
Jobportal på en dansk virksomheds hjemmeside
En mellemstor dansk produktionsvirksomhed bruger ProSolution WP Client til at vise ledige stillinger og modtage ansøgninger via en jobportal-side. En angriber besøger siden, henter den offentligt tilgængelige sikkerhedsnøgle og uploader et script forklædt som en ansøgningsfil. Scriptet giver angriberen adgang til webserveren, hvorfra virksomhedens hjemmeside senere bliver brugt til at sende spam og sprede malware til besøgende.
Ofte stillede spørgsmål
Hvordan finder vi ud af, om vi bruger det sårbare plugin?
Gå til Plugins i jeres WordPress-administration og se, om ProSolution WP Client er installeret, og hvilken version der er angivet. Er versionen 2.0.10 eller lavere, er I ramt.
Kan vi vente til weekenden med at rette det?
Nej. Sårbarheden kan udnyttes af uautoriserede angribere uden login, og der findes offentlig teknisk information om, hvordan den udnyttes. Vi anbefaler at handle samme dag, fejlen bliver konstateret.
Er vi allerede ramt, hvis vi finder ukendte filer i vores upload-mappe?
Det kan være et tegn på misbrug. Gennemgå filerne, fjern dem, der ikke burde være der, og undersøg logfiler for at afklare, hvornår og hvordan de blev uploadet.
Skal vi anmelde dette til myndighederne?
Er der sket et konkret databrud, hvor persondata er blevet tilgået eller stjålet, skal I vurdere anmeldelse til Datatilsynet efter GDPR-reglerne. Kontakt en rådgiver, hvis I er i tvivl om, om jeres situation udløser anmeldepligt.
Er det nok at deaktivere pluginnet, eller skal vi også tjekke hjemmesiden for skadelig kode?
Deaktivering lukker for nye angreb, men fjerner ikke eventuelle filer, angribere allerede har uploadet. Gennemgå serveren for uventede filer og overvej en sikkerhedsscanning af hele websitet.
Hvad gør vi, hvis der ikke findes en opdateret version af pluginnet?
Så skal pluginnet deaktiveres eller afinstalleres helt, indtil udvikleren udgiver en rettelse. I kan overveje at finde et alternativt plugin med samme funktion, hvis jobportalen er forretningskritisk.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
The ProSolution WP Client plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.0.10 via the proSol_handleFileUpload function. This is due to missing validation of the attacker-controlled Content-Disposition header filename, which overrides the allow-listed multipart filename before the file is saved, and a post-save extension check that fails to delete the already-written file. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. The nonce required to reach the upload handler is publicly exposed via wp_localize_script on any front-end page rendering the job portal shortcode, allowing unauthenticated visitors to obtain a valid nonce and bypass that gating check entirely.
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.