WordPressi hooldus Häkitud saidi puhastus Turvaplugin Hinnad Blogi
Avaleht / Blogi / Kodulehe turvalisus
november 4, 2026

Contact Form 7 turvaparandus: uuenda 6.2.4.1 peale ja kontrolli manuseid

CV saatmise vorm võib näidata edukat saatmist, aga postkasti jõuab Wordi dokument, mida keegi avada ei saa. Just selline ebameeldiv üllatus käib kaasas Contact Form 7 värske uuendusega. Samas on siin ka turvaparandus: versioon 6.2.4 sulgeb sisselogimist mittevajava failide üleslaadimise turvaaugu. Uuendada tuleks otse versioonile 6.2.4.1.

Mina olen Andrei ja juhin WordPressi hoolduse ning turvalisusega tegelevat agentuuri. Minu soovitus on kaheosaline: paigalda parandus ja proovi seejärel läbi, mis päriselt postkasti jõuab. Roheline kinnitus vormi all ei tõesta veel, et kõik töötab. Eriti siis, kui selle vormi kaudu tulevad tööavaldused või hinnapäringute lisad.


Mis juhtus?

Contact Form 7 6.2.4 ilmus 29. oktoobril 2026. Contact Form 7 avaldatud väljalasketeate järgi said ründajad versioonides 6.2 kuni 6.2.3 mitut viga kombineerides üles laadida faile, mille kontroll oleks pidanud tagasi lükkama. Samuti sai alles jätta faile, mis pidanuks pärast vormi saatmist kustuma. Sisse logida polnud vaja.

Probleemi leidsid Shinya Murakami ja Jakub Herman ning teatasid sellest WPScani kaudu. Plugina arendaja ei teatanud toimunud rünnakutest. Nii et see uudis ei tähenda iseenesest, et sinu veebilehele on sisse murtud.

Versioon 6.2.4.1 tuli välja samal päeval. Muudatuste loendis on ainult „FormDataTree-PHP: Upgraded to 2.0.10”. Plugina GitHubi veateade #1908 seob selle aga probleemiga, kus versioonis 6.2.4 ei läbinud tühjaks jäetud vabatahtlik failiväli kontrolli.

Jäta vahepealne väljalase vahele. Paigalda kohe 6.2.4.1.


Kas see puudutab sinu veebilehte?

Turvaauk on ainult Contact Form 7 versioonides 6.2 kuni 6.2.3. Arendaja kirjeldab riski nii: teoreetiliselt võib mõjutatud olla iga failiväljaga vorm, kui server lubab ka avalikku kataloogisisu kuvamist. Selline failide loend aitab leida faili, mis on pärast saatmist serverisse jäänud.

Praktikas tasub üle vaadata näiteks need vormid:

  • Tööle kandideerimise vorm, kuhu lisatakse CV.
  • Trükipakendite tellimisvorm, millega saadetakse kujundusfail.
  • Hulgimüügi hinnapäring, mille juurde pannakse toodete ja kogustega tabel.

WooCommerce’i kassa ilma Contact Form 7 kasutamiseta ei ole automaatselt mõjutatud lihtsalt sellepärast, et seal võetakse tellimusi vastu. Vaata, milline plugin konkreetse vormi eest vastutab.

Arendaja soovitab turvaparandusi siiski kõigile kasutajatele, ka neile, kelle versioon pole haavatav. Praegune väljalase vajab WordPressi versiooni 7.1 või uuemat ning seda on testitud versioonini 7.1.4. Vanema veebilehe puhul kontrolli enne ühilduvust ja tee varukoopia. Kui ka WordPress vajab uuendamist, on test keskkond mõistlik koht alustamiseks.

6.2 harul on olnud keeruline kuu. Varem kirjutasime ka sellest, kuidas lahendada Contact Form 7 6.2 uuenduse järel tekkinud kriitilist viga.


Üllatus manustes: fail võib saabuda muudetud laiendiga

Siin ei piisa mõttest „uuendatud, valmis”. Contact Form 7 muutis seda, kuidas wpcf7_antiscript_file_name() faililaiendeid käsitleb. Varem blokeeriti kindlas loendis olevaid laiendeid. Nüüd kasutatakse lubatud laiendite loendit: sellest välja jääv laiend asendatakse turvalise variandiga, näiteks .txt.

Vaikimisi loendis on heli-, video- ja pildivormingud ning pdf ja txt. Levinud kontoridokumente ja arhiive seal aga pole:

  • Wordi ja OpenDocumenti dokumendid: doc, docx, odt.
  • Tabelid ja andmefailid: xls, xlsx, ods, csv.
  • Arhiivid ja esitlused: zip, ppt.

Näiteks saadab ostja tööriietega kauplevale ettevõttele tabeli tootekoodide ja kogustega. Hinnapäringu vorm võtab faili vastu, saadab e-kirja ning näitab harjumuspärast tänuteadet. Müügiinimene saab aga muudetud laiendiga manuse, mis topeltklõpsuga ootuspäraselt ei avane.

Kliendi poolel paistab kõik korras. See ongi konks: müügipäring võib jääda toppama ilma ühegi nähtava veateateta.

Kui neid vorminguid on päriselt vaja, saab need lisada uue filtriga wpcf7_file_extension_safelist. Pane järgmine kood alamteema faili functions.php või väikesesse koodijuppide pluginasse. Kärbi näidisloend oma tegeliku vajaduse järgi:

add_filter( 'wpcf7_file_extension_safelist', function ( $safelist ) {
    return array_merge(
        $safelist,
        [ 'doc', 'docx', 'xls', 'xlsx', 'odt', 'csv', 'zip' ]
    );
} );

Ära lisa tervet loendit lihtsalt mugavusest. PDF- ja Wordi dokumente vastu võttev CV-vorm ei vaja ZIP-arhiive. Hoia ka iga [file] märgendi filetypes: valik võimalikult kitsas. Filter ei asenda vormi enda lubatud failitüüpide seadistust.

Mina eelistan PDF-i seal, kus see töö ära teeb. Hinnapäringu tabelis võib vaja minna muudetavaid andmeid, see on täiesti normaalne. Lisa vajalik vorming ja ava siis saabunud manus ise. Kontrollli ka laiendit, mitte ainult faili nime algust.

Arendajale veel üks märkus: wpcf7_unship_uploaded_file() nõuab nüüd teist argumenti $options ja toetab uut kolmandat argumenti $uploaded_files. Kui oma kood seda funktsiooni kutsub, vaata vastavad kohad üle.


Kontrolli, kas üleslaadimiste kaust näitab failide loendit

Ava brauseri privaatses aknas oma veebilehe aadressi järel /wp-content/uploads/. Kui näed „Index of” lehte koos failide või kaustade loendiga, on kataloogisisu kuvamine seal lubatud. Keelatud ligipääsu teade või loendi puudumine on selle asukoha puhul hea märk. See ei tõesta siiski, et kõigil alamkaustadel on sama seadistus.

Apache’i puhul keelab loendi kuvamise sobivas .htaccess seadistuses Options -Indexes, kui majutusteenus seda lubab. Nginxi vastav seadistus on autoindex off;, mis on ka vaikeväärtus. Kui serveri seadistamine pole sinu teema palu majutusteenuse pakkujal see üle kontrollida.

Vaata majutuse failihalduri või SFTP kaudu ka kausta wp-content/uploads/wpcf7_uploads. Contact Form 7 kasutab seda ajutiste üleslaadimiste jaoks ning kustutab failid pärast saatmist. Ootamatud failid, eriti .php või .phtml, vajavad uurimist. Need võivad viidata sissemurdmisele, mitte lihtsalt koristamata kaustale.

Kahtlase leiu korral säilita faili nimi, asukoht ja muud nähtavad andmed ning küsi abi veebilehe puhastamiseks ja pahavara eemaldamiseks. Olemasolevat sissemurdmist uuendamine ei kõrvalda. Lihtsalt faili kustutades on võimalik kaotada uurimiseks vajalik jälg.


Tee need asjad täna ära

  1. Tee varukoopia, kontrolli ühilduvust ja uuenda. Seejärel veendu paigaldatud pluginate vaates, et Contact Form 7 versioon on 6.2.4.1.
  2. Katseta iga üleslaadimisvormi lubatud failiga. Kui failiväli on vabatahtlik, saada vorm ka ilma failita.
  3. Ava kõik saabunud manused. Kontrolli laiendit, mitte ainult seda, kas kiri kohale jõudis.
  4. Keela avalik kataloogisisu kuvamine ja vaata ajutiste üleslaadimiste kaustast üle ootamatud failid.

Kui nende kontrollide eest praegu keegi ei vastuta, pane need kodulehe ja WordPressi hoolduse osaks. Failide saatmise testimine peab käima samasse rutiini ostukorvi ja maksete proovimisega. Muidu märkab probleemi esimesena klient või hinnapäringut ootav müügiinimene.


Lõpeta postkastis, mitte uuenduste vaates

Meie varasem artikkel Forminatori kriitilisest failide üleslaadimise turvaaugust käsitleb teist pluginat. Neid kahte probleemi ei tasu segi ajada ega ühe plugina parandust teisele üle kanda.

Vali täna oma enim kasutatav CV- või hinnapäringu vorm. Saada päris näidisfail, teisel katsel jäta vabatahtlik failiväli tühjaks ja ava postkasti jõudnud manus. Seda kontrolli ei tee uuenduste vaade sinu eest.