Kritisk privilege escalation i ACF Extended: sådan rammer CVE-2025-14533 din WordPress-løsning
Hvis du bruger Advanced Custom Fields: Extended (ACF Extended) som addon til Advanced Custom Fields, så er der en vigtig sikkerhedsnyhed: En kritisk privilege escalation (rettighedseskalering) gør det muligt for en uautentificeret angriber at ende med administrator-adgang – men kun hvis dit site er sat op på en bestemt måde med ACF Extendeds formular-actions.
Sårbarheden er registreret som CVE-2025-14533 og påvirker ACF Extended i versioner <= 0.9.2.1. Den er patchet i 0.9.2.2. Ifølge Wordfence har pluginet over 100.000 aktive installationer, så det er en af de fejl, der hurtigt bliver relevant i praksis – især for bureau-sites med custom forms.
Hvad er problemet helt konkret?
ACF Extended har et form-modul, hvor du kan bygge formularer og koble dem til en action som fx “Create user” (opret bruger) eller “Update user” (opdater bruger). I den sårbare version kan en angriber udnytte, at pluginets user-insert flow ikke begrænser, hvilken rolle der kan blive sat under registrering, hvis role-feltet er mappet ind i formularen.
Det centrale er: Hvis din formular tillader, at en værdi for role bliver sendt med (og den er mappet til et custom field), kan angriberen supply administrator og få oprettet en admin-bruger.
Vigtigt scope
Det er ikke alle sites med ACF Extended, der er reelt eksponerede. Udnyttelsen kræver, at du har en ACF Extended-form med “Create user”/“Update user” og at role er mappet som felt i den formular. Wordfence vurderer, at den opsætning sandsynligvis er relativt sjælden.
Hvorfor er det kritisk? (Hvad kan en angriber gøre som admin)
Rettighedseskalering til administrator er i praksis ofte lig med fuldt site-compromise. Med admin-adgang kan en angriber bl.a.:
- Installere eller uploade plugins/temaer (inkl. ondsindede zip-filer med backdoors)
- Ændre indhold og injicere spam eller redirecte besøgende
- Oprette nye brugere og “låse” legitime brugere ude
- Ændre settings, webhooks, integrationsnøgler og andre driftkritiske konfigurationer
Den tekniske årsag: role-validering følger ikke feltets “Allow User Role”-begrænsning
ACF Extended lader dig definere et feltgruppe-setup til brugerdata (email, username, password og evt. role). I UI’et findes der en indstilling som “Allow User Role”, der umiddelbart signalerer, at roller kan begrænses. Men i den sårbare version bliver den begrænsning ikke håndhævet på form-submit-niveau.
Wordfence beskriver, at det handler om pluginets insert_user()-flow, hvor der bygges et $args array og derefter kaldes wp_insert_user($args). Hvis role kan komme med i $args uden tilstrækkelig whitelist/validering, bliver WordPress bedt om at oprette brugeren med præcis den rolle.
Et forsimplet billede af mønsteret
<?php
// Forenklet eksempel af mønsteret Wordfence beskriver:
$args = [];
// ... $args bygges fra de felter, du mapper i formularen
// hvis 'role' er mappet, kan angriberen forsøge at sende 'administrator'
$user_id = wp_insert_user($args);
// Hvis $args['role'] ikke valideres/whitelistes, kan det blive en admin.
Hvorfor er det en “klassiker” i form-byggere?
Når formularer kan mappe felter direkte til objekt-argumenter (her: user args), skal man være ekstremt striks med whitelists på server-side. UI-baserede begrænsninger er ikke nok, fordi en angriber kan sende rå requests direkte til endpointet.
Hvilke versioner er ramt – og hvad er fixet?
- Ramt: Advanced Custom Fields: Extended <= 0.9.2.1
- Patchet: 0.9.2.2
- CVE: CVE-2025-14533
- CVSS: 9.8 (Critical)
Hvad skal du gøre på dine sites (praktisk tjekliste)
- Opdatér ACF Extended til 0.9.2.2 eller nyere med det samme.
- Find alle ACF Extended-forms med actions af typen Create user eller Update user.
- Tjek om der er et felt (eller mapping) der ender som
rolei submit – især hvis feltet er synligt for ikke-loggede brugere. - Hvis du ikke har et reelt behov for at lade brugere vælge rolle: fjern
role-feltet fra formularen/mappingen helt. - Gennemgå brugere for nyligt oprettede admin-konti, hvis du har været på en sårbar version og har den relevante formular-opsætning.
Wordfence-beskyttelse og disclosure-forløb (kort)
Ifølge Wordfence blev sårbarheden rapporteret via deres Bug Bounty Program og valideret i december 2025. Wordfence udsendte en firewall-regel til betalende kunder kort efter valideringen, mens brugere af gratis-versionen fik samme regel senere. Plugin-udvikleren udgav patchen (0.9.2.2) få dage efter rapporten.
- Indsendt til Wordfence: 10. december 2025
- Valideret + firewall-regel til Premium/Care/Response: 11. december 2025
- Patch udgivet af ACF Extended-teamet: 14. december 2025
- Firewall-regel til Wordfence Free: 10. januar 2026
Opsummering
CVE-2025-14533 i ACF Extended er en kritisk privilege escalation, som i bestemte ACF Extended-form-opsætninger kan give en uautentificeret angriber admin-adgang ved at indsende role=administrator. Den hurtigste og vigtigste handling er at opdatere til 0.9.2.2 og derefter verificere, at dine brugeroprettelses-/opdateringsformularer ikke eksponerer eller mapper roller ukontrolleret.


Referencer / Kilder
Freja Hansen
Developer relations og community manager. At bygge tech-fællesskaber og forbedre udvikleroplevelsen er min passion. Fællesskabets kraft er uendelig.
Alle indlæg