CVE-2026-12165: Rettighedseskalering i Contest Gallery
Fejl i WordPress-plugin’et Contest Gallery lader bidragydere ophøje sig til administrator. Opdatér til nyeste version.
Hvad er det?
CVE-2026-12165 er en sårbarhed i WordPress-plugin’et Contest Gallery, der bruges til at afholde fotokonkurrencer og afstemninger på hjemmesider. Fejlen er en rettighedseskalering (CWE-269), hvor systemet ikke kontrollerer korrekt, hvilke brugerroller der må ændre indstillinger. Plugin’ets administrationsmenu er registreret på et for lavt rettighedsniveau, og den funktion, der gemmer indstillingen RegistryUserRole, tjekker ikke, om brugeren faktisk har administratorrettigheder. En bruger med blot forfatter- eller bidragyder-rettigheder kan derfor ændre denne indstilling til administrator. Værdien bruges efterfølgende, når nye brugere logger ind via Google, og de bliver dermed automatisk oprettet som administratorer i stedet for almindelige brugere. Fejlen findes i alle versioner op til og med 30.0.2.
Hvem rammer det?
Alle danske virksomheder og kommuner, der bruger WordPress med plugin’et Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe i version 30.0.2 eller ældre. Det gælder især hjemmesider, hvor eksterne skribenter, freelancere eller praktikanter har fået forfatter- eller bidragyderadgang til at oprette indhold, samt sider der bruger Google-login til at oprette nye brugere.
Hvad kan ske?
En bruger med almindelig forfatter- eller bidragyderadgang kan skrive sig selv op til administrator og dermed få fuld kontrol over hjemmesiden. Det åbner for at ændre indhold, installere nye plugins, oprette bagdøre eller stjæle data fra kunder og medlemmer, der er registreret på siden. Da eskaleringen sker via en legitim brugerkonto, kan det være svært at opdage, før skaden er sket.
Hvor alvorligt er det?
CVSS-score er 8,8 ud af 10, hvilket er alvorligt. Angrebet kræver et login med lave rettigheder (forfatter eller bidragyder), men ingen handling fra andre brugere og ingen kompleks teknik. Når først en angriber har en sådan konto, kan denne opnå fuld administratoradgang uden yderligere hjælp fra andre. Der er ikke offentliggjort oplysninger om, at sårbarheden aktivt udnyttes i angreb, men den er teknisk enkel at udføre for enhver med en lavpriviligeret konto på en sårbar side.
Hvad gør jeg nu?
Vi anbefaler følgende skridt for at lukke sårbarheden og begrænse risikoen, mens en opdatering afventes.
- Opdatér Contest Gallery-plugin’et til en version nyere end 30.0.2, så snart udbyderen frigiver en rettet version.
- Gennemgå jeres WordPress-brugerliste, og fjern eller nedgradér konti med forfatter- eller bidragyderrettigheder, som ikke er strengt nødvendige.
- Deaktivér Google-login til brugeroprettelse på siden, hvis funktionen ikke er i aktiv brug, indtil opdateringen er installeret.
- Kontrollér listen over administratorer på siden for konti, der ikke burde have denne rolle.
- Overvej at deaktivere plugin’et helt, hvis en opdatering ikke kan installeres inden for kort tid, og siden har brugere med forfatter- eller bidragyderadgang.
- Kontakt en it-sikkerhedsrådgiver, hvis I finder uautoriserede administratorkonti, eller hvis I ikke selv kan vurdere, om siden er blevet kompromitteret.
Opdatér inden for en uge
Vi anbefaler, at plugin’et opdateres til den nyeste version så hurtigt som praktisk muligt, og at brugerlisten gennemgås for uventede administratorkonti. Det er i orden at vente et par dage med opdateringen, hvis I i mellemtiden begrænser antallet af forfatter- og bidragyderkonti og deaktiverer Google-login på siden. Har I mange eksterne brugere med skriveadgang til siden, bør opdateringen dog prioriteres højt.
Tidslinje
Konkrete eksempler
Ekstern skribent får administratoradgang
En dansk forening bruger Contest Gallery til en årlig fotokonkurrence og har givet en frivillig forfatteradgang til at uploade billeder. Den frivillige, eller en angriber der har fået fat i kontoen, udnytter fejlen til at ændre RegistryUserRole-indstillingen og opretter derefter en ny bruger via Google-login, som automatisk får administratorrettigheder. Herfra kan angriberen ændre foreningens hjemmeside, tilgå medlemsdata og installere yderligere skadelig kode.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis jeres WordPress-side bruger plugin’et Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe i version 30.0.2 eller ældre. Tjek plugin-versionen under Plugins i jeres WordPress-administration.
Hvordan tjekker vi, om sårbarheden er udnyttet hos os?
Gennemgå listen over administratorkonti i WordPress, og se efter konti, I ikke selv har oprettet, eller konti oprettet via Google-login med administratorrolle. Tjek også ændringslogs for pludselige rolleændringer af eksisterende brugere.
Kan vi vente til weekenden med at opdatere?
Hvis siden ikke har eksterne forfattere eller bidragydere med adgang, og Google-login til registrering er slået fra, er risikoen begrænset, og I kan vente kort tid. Har I derimod aktive konti på forfatter- eller bidragyderniveau, bør opdateringen prioriteres inden weekenden.
Skal vi anmelde dette som et sikkerhedsbrud?
Kun hvis I finder tegn på, at sårbarheden faktisk er udnyttet, og personoplysninger er blevet tilgået eller ændret uden tilladelse. I så fald kan det være anmeldelsespligtigt efter databeskyttelsesreglerne, og vi anbefaler at søge juridisk rådgivning hurtigt.
Hvad hvis vi ikke kan opdatere plugin'et lige nu?
Deaktivér plugin’et eller fjern alle forfatter- og bidragyderkonti midlertidigt, indtil opdateringen kan gennemføres. Det lukker den konkrete adgangsvej, uden at siden nødvendigvis skal tages helt offline.
Påvirker dette også andre plugins eller vores WordPress-kerne?
Nej, sårbarheden findes specifikt i Contest Gallery-plugin’et. WordPress-kernen og andre plugins er ikke direkte berørt, men en administratorkonto opnået via denne fejl kan bruges til at ændre eller installere andre plugins og temaer.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
The Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 30.0.2 via the `RegistryUserRole` parameter. This is due to the plugin’s admin menu being registered at the `edit_posts` capability level — granting Contributor-level users access to the plugin’s admin pages and a valid `cg_admin` nonce — while the option-saving handler in `change-options-and-sizes.php` performs no `current_user_can()` capability check beyond `check_admin_referer(‘cg_admin’)`, and the `RegistryUserRole` value is processed only through `sanitize_text_field()` and `htmlentities()` without restriction to an allowlist of permitted role names. This makes it possible for authenticated attackers, with author-level access and above, to overwrite the plugin’s stored `RegistryUserRole` option with `administrator`, which the `cg_create_wp_user_from_google_user` function then reads back from the `contest_gal1ery_registry_and_login_options` database table without any allowlist validation and passes directly to `wp_update_user()`, effectively promoting a newly registered Google sign-in account to Administrator.
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.