Siirry sisältöön
ACF Extended -lisäosan kriittinen oikeuksienkorotus: mitä pitää tarkistaa ja miten riski rajataan
Mikko Virtanen
Mikko Virtanen 19. January 2026 · 3 min lukuaika

ACF Extended -lisäosan kriittinen oikeuksienkorotus: mitä pitää tarkistaa ja miten riski rajataan

WordPress-projekteissa ACF (Advanced Custom Fields) ja sen lisäosat ovat arkipäivää, ja siksi kaikki käyttäjähallintaan liittyvät lomakeominaisuudet kannattaa katsoa erityisellä varovaisuudella. Wordfencen raportin mukaan Advanced Custom Fields: Extended (ACF Extended) -lisäosasta on löytynyt kriittinen oikeuksienkorotus (Privilege Escalation), joka koskee versiota 0.9.2.1 ja sitä vanhempia.

Haavoittuvuuden idea on ikävän suoraviivainen: jos sivustolla on rakennettu käyttäjän luontiin/päivitykseen liittyvä lomaketoiminto niin, että lomakekenttä mapataan käyttäjän rooliin, hyökkääjä voi manipuloida kentän arvon ja asettaa rooliksi esimerkiksi administrator.

Mikä on vaikutus ja ketä tämä oikeasti koskee?

Wordfencen mukaan lisäosalla on yli 100 000 aktiivista asennusta, mutta kriittisyydestä huolimatta hyväksikäyttö edellyttää tiettyä toteutusta: sivustolle pitää olla rakennettu ACF Extendedin lomake, jossa käytetään “Create user”– tai “Update user” -toimintoa ja jossa rooli (role) on mukana kenttänä ja kytkettynä käyttäjätietojen tallennukseen.

Tärkeä rajaus

Haavoittuvuus on Wordfencen kuvauksen mukaan kriittinen erityisesti silloin, kun lomakkeessa on kenttä, joka mapataan rooliin (role). Jos et käytä käyttäjän luontia/päivitystä ACF Extendedin lomakkeilla tai et mapppaa roolia kentästä, hyökkäyspinta on käytännössä pienempi.

Jos hyökkääjä saa ylläpitäjän oikeudet, seuraukset ovat samat kuin missä tahansa admin-tason kompromississa: lisäosien ja teemojen asennus (myös haitalliset zipit), asetusten muuttaminen, sisältöjen manipulointi ja esimerkiksi uudelleenohjaukset tai roskasisällön injektointi.

Mitä haavoittuvuudessa tapahtuu teknisesti?

ACF Extended on ACF:n päälle rakennettu lisäosa, joka tuo mm. lisää kenttiä ja form managerin (lomakehallinnan). Wordfencen teknisessä analyysissä ongelma liittyy käyttäjän luonnin/päivityksen polkuun, jossa lomakkeelta kerätyt arvot kootaan argumenteiksi ja välitetään lopulta WordPressin käyttäjänluontiin.

Raportin ydin on, että insert_user-polussa rooli ei ole riittävästi rajattu: vaikka kenttäryhmän puolella olisi ajatus “Allow User Role” -tyyppisestä rajoituksesta, lomakkeen kautta tulevaa arvoa ei haavoittuvissa versioissa pakoteta samaan rajoitukseen. Tällöin hyökkääjä voi lähettää rooliksi administrator.

// Idea: lomakkeelta kerätyt arvot kootaan $args-taulukkoon
// ja syötetään wp_insert_user():lle.
// Haavoittuvassa toteutuksessa roolin (role) rajaaminen puuttuu,
// jos role on mapattu lomakekentästä.

$user_id = wp_insert_user($args);

// Jos $args['role'] voidaan syöttää vapaasti, rooliksi voi päätyä esim. 'administrator'.

Versiot, CVE ja korjaus

  • CVE: CVE-2025-14533
  • Vaikuttaa: Advanced Custom Fields: Extended <= 0.9.2.1
  • Korjattu versiossa: 0.9.2.2
  • Vakavuus: CVSS 9.8 (Critical)

Wordfencen mukaan toimittaja julkaisi korjauksen nopeasti, ja suositus on yksiselitteinen: päivitä ACF Extended vähintään versioon 0.9.2.2 mahdollisimman pian.

Nopea tarkistuslista kehittäjälle / ylläpitäjälle

  1. Päivitä lisäosa: varmista, että ACF Extended on 0.9.2.2 tai uudempi.
  2. Etsi riskilomakkeet: käy läpi ACF Extendedin lomakkeet, joissa on “Create user” tai “Update user” -toiminto.
  3. Tarkista roolin mappaus: varmista, ettei lomakekenttää ole mapattu suoraan käyttäjän rooliin (role) — tai että rooli on tiukasti rajattu turvalliseksi.
  4. Arvioi tarve: jos käyttäjänluonti ACF Extendedin kautta ei ole välttämätöntä, poista toiminto käytöstä tai korvaa se turvallisemmalla toteutuksella.
  5. Katso lokit: jos sivustolla on ollut julkinen rekisteröitymislomake, tarkista viimeaikaiset uudet käyttäjät ja erityisesti admin-roolit.

Wordfence-suojaus ja aikajana (olennaiset kohdat)

Wordfencen raportissa kuvataan myös suojausten jakelua: maksulliset Wordfence-tuotteet saivat palomuurisäännön jo 11.12.2025, ja Wordfence Free sai saman suojauksen myöhemmin 10.1.2026. Lisäksi tieto välitettiin toimittajalle Wordfencen Vulnerability Management Portal -kanavan kautta ja korjattu versio julkaistiin 14.12.2025.

Miksi tämä on hyvä muistutus ACF-pohjaisista lomakkeista

Kun rakennat lomakkeita, jotka kirjoittavat WordPressin käyttäjäobjektiin, pienikin validoinnin puute muuttuu helposti admin-tason kompromissiksi. Kenttäryhmän asetukset eivät aina takaa sitä, että runtime-polku (lomakkeen submit) noudattaa samoja rajoituksia.

Yhteenveto

ACF Extendedin (<= 0.9.2.1) haavoittuvuus mahdollistaa kirjautumattoman oikeuksienkorotuksen tilanteissa, joissa sivustolla on ACF Extendedin käyttäjänluonti-/päivityslomake ja rooli mapataan lomakekentästä. Päivitä versioon 0.9.2.2, tarkista lomakkeiden roolimappaukset ja käy läpi käyttäjälistaus mahdollisten poikkeamien varalta.

ACF Extendedin kenttäryhmä, jossa käyttäjän rooliin liittyvä kenttä ja rajoitusasetuksia
Kenttäryhmään voidaan lisätä käyttäjätietoja, mukaan lukien rooli, ja sille on asetuksia kuten “Allow User Role”. — Forrás: Wordfence.com
ACF Extendedin lomake, jossa “Create user” -toiminto ja kenttien mappaus käyttäjätietoihin
Lomakkeessa kentät voidaan mapata käyttäjänluontitoiminnon parametreihin. Jos rooli mapataan, se pitää rajata turvallisesti. — Forrás: Wordfence.com

Liity HelloWP-yhteisöön!

Keskustele kanssamme WordPressistä ja web-kehityksestä sekä jaa kokemuksia muiden kehittäjien kanssa.

- jäsentä
- paikalla
Liity

Käytämme evästeitä parantaaksemme käyttökokemustasi. Jatkamalla hyväksyt Evästekäytäntömme.