{"id":20341,"date":"2026-06-09T11:33:36","date_gmt":"2026-06-09T08:33:36","guid":{"rendered":"https:\/\/sysadmin.courses\/cve-2026-3300-wordpress-%d0%bf%d0%bb%d0%b0%d0%b3%d0%b8%d0%bd-everest-forms-pro-%d0%b2%d1%8b%d0%bf%d0%be%d0%bb%d0%bd%d1%8f%d0%b5%d1%82-%d1%87%d1%83%d0%b6%d0%be%d0%b9-php-%d0%ba%d0%be%d0%b4\/"},"modified":"2026-06-09T11:36:26","modified_gmt":"2026-06-09T08:36:26","slug":"cve-2026-3300-everest-forms-pro-paleidzia-svetima-php-koda-is-formos-lauko","status":"publish","type":"post","link":"https:\/\/sysadmin.courses\/lt\/cve-2026-3300-everest-forms-pro-paleidzia-svetima-php-koda-is-formos-lauko\/","title":{"rendered":"CVE-2026-3300: Everest Forms Pro paleid\u017eia svetim\u0105 PHP kod\u0105 i\u0161 formos lauko"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">J\u016bs\u0173 svetain\u0117 priima u\u017eklausas per kontaktin\u0119 form\u0105. Ka\u017ekas u\u017epildo lauk\u0105 \u201eVardas&#8221; \u2014 ir serveryje \u012fvykdomas bet koks PHP kodas. Ne tod\u0117l, kad buvo \u012fsilau\u017eta \u012f duomen\u0173 baz\u0119, ne tod\u0117l, kad buvo atsp\u0117tas slapta\u017eodis. Tiesiog tod\u0117l, kad \u012f formos lauk\u0105 buvo galima \u012fra\u0161yti k\u0105 tik nori, o papildinys tai perdav\u0117 tiesiai \u012f PHP funkcij\u0105 <code>eval()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Taip veikia CVE-2026-3300 \u2014 kritinis pa\u017eeid\u017eiamumas WordPress papildinyje Everest Forms Pro, CVSS 9.8. Pa\u017eeid\u017eiamos visos versijos iki 1.9.12 imtinai. Pataisymas i\u0161leistas 2026 m. kovo 18 d. \u2014 versija 1.9.13. Aktyvus i\u0161naudojimas prad\u0117tas baland\u017eio 13 d. Wordfence duomenimis, iki bir\u017eelio prad\u017eios ugniasien\u0117 u\u017eblokavo daugiau nei 29 300 i\u0161naudojimo bandym\u0173, i\u0161 kuri\u0173 daugiau nei 17 900 \u2014 tik gegu\u017e\u0117s 16 d. Atakos t\u0119siasi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>KAS YRA EVEREST FORMS PRO<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Everest Forms Pro \u2014 komercinis WPEverest papildinys, papildas prie nemokamo Everest Forms. J\u012f diegia tada, kai paprastos formos nebeu\u017etenka: reikia keli\u0173 \u017eingsni\u0173 anketos su s\u0105lyginiais laukais, registracijos formos su laiko pasirinkimu arba kainos skai\u010diuokl\u0117s tiesiai formoje, nepereinant prie krep\u0161elio. Tipiniai naudotojai \u2014 nedidel\u0117s internetin\u0117s parduotuv\u0117s, paslaug\u0173 \u012fmon\u0117s, agent\u016bros, kurioms reikia u\u017esakymo formos su dinaminiu kainodara. Apie 4 000 aktyvi\u0173 diegim\u0173 pagal Wordfence duomenis \u2014 skai\u010dius kuklus, bet tai neapsaugo: botnetai nesirenka taikini\u0173 pagal papildinio populiarum\u0105, jie nuskaituoja visk\u0105 i\u0161 eil\u0117s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pa\u017eeid\u017eiama pasirod\u0117 konkreti Pro versijos funkcija \u2014 Complex Calculation. Tai papildinys, leid\u017eiantis kurti matematines formules i\u0161 formos lauk\u0173 reik\u0161mi\u0173: preki\u0173 kiekis padaugintas i\u0161 kainos, taikoma nuolaida pagal reklamin\u012f kod\u0105, pridedamos pristatymo i\u0161laidos. Visa tai vyksta serveryje pateikiant form\u0105 \u2014 PHP apskai\u010diuoja rezultat\u0105 ir gr\u0105\u017eina j\u012f klientui. B\u016btent \u010dia, tarp vartotojo \u012fvesties ir serverio skai\u010diavimo, atsirado skyl\u0117 kaip sunkve\u017eimis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>KAIP VEIKIA PA\u017dEID\u017dIAMUMAS<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kai vartotojas pateikia form\u0105 su \u012fjungta Complex Calculation funkcija, lauk\u0173 reik\u0161m\u0117s patenka \u012f papildinio funkcij\u0105 <code>process_filter()<\/code>. Ten jos sujungiamos \u012f PHP kodo eilut\u0119, kuri perduodama \u012f <code>eval()<\/code>. Id\u0117ja suprantama: reikia dinami\u0161kai apskai\u010diuoti formul\u0119 i\u0161 vartotojo \u012fvesties. Problema ta, kad \u012fvestis prie\u0161 tai praeina tik per <code>sanitize_text_field()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0160i WordPress funkcija skirta tekstui i\u0161valyti nuo HTML \u017eym\u0173 ir perteklini\u0173 tarp\u0173 \u2014 ji pa\u0161alina <code>&lt;script&gt;<\/code> ir pana\u0161ias konstrukcijas. Ta\u010diau viengub\u0173 kabu\u010di\u0173 ir kit\u0173 PHP sintaksei svarbi\u0173 simboli\u0173 ji nelie\u010dia. PHP kodo generavimo kontekste tai katastrofa: \u201esaugu&#8221; i\u0161 HTML perspektyvos atrodo \u012fvestis gali b\u016bti visavert\u0117 PHP injekcija. Everest Forms Pro k\u016br\u0117jai supainiojo kontekstus \u2014 jie panaudojo HTML valymo \u012frank\u012f ten, kur reik\u0117jo PHP ekranavimo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rezultatas: u\u017epuolikas \u012fra\u0161o specialiai suformuot\u0105 PHP payload \u012f bet kur\u012f eilut\u0117s tipo formos lauk\u0105 (tekstas, email, URL, select, radio). Forma turi naudoti Complex Calculation \u2014 tai b\u016btina s\u0105lyga. Jokio autentifikavimo nereikia: bet kuris svetain\u0117s lankytojas gali pateikti form\u0105. Serveris gauna u\u017eklaus\u0105, <code>process_filter()<\/code> surenka eilut\u0119 i\u0161 vartotojo reik\u0161mi\u0173, <code>eval()<\/code> j\u0105 \u012fvykdo kaip PHP kod\u0105 su vartotojo, kuriuo veikia \u017einiatinklio serveris, teis\u0117mis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>REALI ATAKOS GRANDIN\u0116<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Viskas prasideda nuo automatizuoto nuskaitymo. Botai \u0161liau\u017eia per WordPress svetaines ie\u0161kodami Everest Forms Pro \u2014 pagal b\u016bdingus CSS klases ir formos atributus, kuriuos papildinys \u012fterpia \u012f kiekvien\u0105 puslap\u012f. Tai automatizuotas procesas: specializuoti \u0161liau\u017eikliai ap\u017evelgia milijonus svetaini\u0173 ie\u0161kodami konkre\u010di\u0173 papildini\u0173 para\u0161\u0173. Rad\u0119 form\u0105 su Complex Calculation, botas siun\u010dia POST u\u017eklaus\u0105 su paruo\u0161tu payload tekstiniame lauke. Payload sukuria PHP fail\u0105 serveryje \u2014 web shell. Visas \u0161is procesas nuo aptikimo iki shell \u012fd\u0117jimo trunka sekundes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Po to u\u017epuolikas pereina prie rankinio darbo. Per HTTP u\u017eklausas \u012f web shell jis nuskaito <code>wp-config.php<\/code> \u2014 ten saugomi duomen\u0173 baz\u0117s prisijungimo duomenys. Tur\u0117damas DB slapta\u017eod\u012f, jis prisijungia prie MySQL ir sukuria nauj\u0105 WordPress administratoriaus paskyr\u0105 \u2014 b\u016btent \u0161\u012f model\u012f Wordfence u\u017efiksavo atakose. Tuo pat metu jis nar\u0161o fail\u0173 sistem\u0105: kiti konfig\u016braciniai failai, SSH raktai nam\u0173 kataloguose, <code>.env<\/code> failai, \u017eurnalai su slapta\u017eod\u017eiais. Jei serveryje veikia kelios svetain\u0117s viename PHP-FPM fonde \u2014 u\u017epuolikas gauna prieig\u0105 prie vis\u0173 j\u0173 fail\u0173, ne tik prie u\u017epultos svetain\u0117s. Klasikinis lateral movement: \u012fsilau\u017eta \u012f vien\u0105 svetain\u0119 \u2014 prieiga prie de\u0161imties.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wordfence nustat\u0117 b\u016bding\u0105 kompromiso \u017eymekl\u012f \u2014 eilut\u0119 <code>diksimarina<\/code> \u017eurnaluose ir u\u017epuoliko sukurtuose failuose. Pagrindinis atak\u0173 srautas ateina i\u0161 dviej\u0173 IP adres\u0173: <code>202.56.2.126<\/code> ir <code>209.146.60.26<\/code>. Wordfence skelbia vis\u0105 IOC s\u0105ra\u0161\u0105, ta\u010diau \u0161ie du yra aktyviausi. U\u017epuolikas gali pakeisti IP per kelias minutes, tod\u0117l konkre\u010di\u0173 adres\u0173 blokavimas naudinga laikina priemon\u0117, bet ne pagrindin\u0117 apsauga.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CHRONOLOGIJA<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2026 m. vasaris: tyr\u0117jas slapyvard\u017eiu h0xilo prane\u0161\u0117 apie pa\u017eeid\u017eiamum\u0105 per Wordfence Bug Bounty program\u0105. Kovo 18 d. WPEverest i\u0161leido pataisym\u0105 \u2014 versija 1.9.13. Kovo 30 d. Wordfence paskelb\u0117 CVE ir techninius duomenis. Baland\u017eio 13 d. prasid\u0117jo aktyvi i\u0161naudojimas \u2014 pra\u0117jus 26 dienoms po pataisymo i\u0161leidimo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">26 dien\u0173 tarpas tarp pataisymo ir i\u0161naudojimo \u2014 tipinis vaizdas WordPress papildiniams. Dauguma svetaini\u0173 neatnaujinamos automati\u0161kai. Dalis savinink\u0173 apskritai neseka papildini\u0173 atnaujinim\u0173. Per t\u0105 laik\u0105 u\u017epuolikai i\u0161analizavo pataisym\u0105, atk\u016br\u0117 pa\u017eeid\u017eiam\u0105 kod\u0105, para\u0161\u0117 i\u0161naudojim\u0105 ir prad\u0117jo masin\u012f nuskaitymo. Gegu\u017e\u0117s 16 d. \u2014 atak\u0173 pikas: 17 900 bandym\u0173 per vien\u0105 dien\u0105. Tai rodo, kad ka\u017ekas \u012ftrauk\u0117 CVE-2026-3300 \u012f savo automatizuot\u0105 masinio nuskaitymo \u012franki\u0173 rinkin\u012f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>KOD\u0116L TAI SVARBU<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4 000 diegim\u0173 \u2014 tai ne t\u016bkstan\u010diai pa\u017eeid\u017eiam\u0173 serveri\u0173, kaip b\u016bna su populiariais papildiniais kaip Contact Form 7 ar Yoast SEO. Ta\u010diau WordPress atakos retai b\u016bna tikslin\u0117s: botnetai nuolat nuskaituoja internet\u0105 ir puola visk\u0105, kas pasitaiko. Jei j\u016bs\u0173 svetain\u0117 naudoja Everest Forms Pro ir neatnaujinta \u2014 ji jau yra u\u017epuolik\u0173 s\u0105ra\u0161uose, nesvarbu, kokia ji \u201ema\u017ea&#8221; ar \u201ene\u012fdomi&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Svarbiau kita: RCE per form\u0105 \u2014 tai visi\u0161kas serverio per\u0117mimas \u017einiatinklio proceso teisi\u0173 prasme. U\u017epuolikas gauna ne tik prieig\u0105 prie duomen\u0173 baz\u0117s per SQL injekcij\u0105, o galimyb\u0119 vykdyti bet kok\u012f kod\u0105. Tai rei\u0161kia web shell k\u016brim\u0105, bet koki\u0173 PHP pasiekiam\u0173 fail\u0173 skaitym\u0105, svetain\u0117s kodo keitim\u0105, prisijungimo duomen\u0173 vagyst\u0119 i\u0161 <code>wp-config.php<\/code>. Jei tame pa\u010diame serveryje veikia kitos svetain\u0117s tame pa\u010diame PHP-FPM fonde \u2014 jos irgi pavojuje. Klasikinis lateral movement bendro hostingo aplinkoje.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yra ir ne toks akivaizdus pavojus. \u0160io klaidos tipas \u2014 vartotojo \u012fvestis \u012f <code>eval()<\/code> \u2014 n\u0117ra b\u016bdingas tik Everest Forms Pro. WordPress ekosistema mil\u017eini\u0161ka: t\u016bkstan\u010diai papildini\u0173, daugelis kuri\u0173 \u012fgyvendina pana\u0161i\u0105 dinamin\u0119 logik\u0105. CVE-2026-3300 istorija \u2014 geras priminimas, kad bet kuris papildinys su \u201ei\u0161maniosiomis&#8221; formomis, kain\u0173 skai\u010diuokl\u0117mis ar dinaminiais laukais gali daryti ka\u017ek\u0105 pana\u0161aus. Kaip sistemos administratorius negalite patikrinti kiekvieno papildinio kodo \u2014 bet galite juos laikyti atnaujintus, steb\u0117ti Wordfence Intelligence ir sukonfig\u016bruoti \u012fsp\u0117jimus apie naujus PHP failus svetain\u0117s kataloge. Tai suma\u017eina pa\u017eeid\u017eiamumo lang\u0105 nuo \u201ekol kas nors ne\u012fsilau\u017e\u0117&#8221; iki \u201ekol nei\u0161leistas pataisymas&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>K\u0104 DARYTI<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pirma \u2014 patikrinti papildinio versij\u0105. WordPress konsol\u0117je: Papildiniai \u2192 \u012ediegti papildiniai \u2192 rasti Everest Forms Pro ir pa\u017ei\u016br\u0117ti versij\u0105. Turi b\u016bti 1.9.13 arba naujesn\u0117. Jei ma\u017eesn\u0117 \u2014 atnaujinti nedelsiant per standartin\u012f WordPress atnaujinimo mechanizm\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Versij\u0105 galima patikrinti ir i\u0161 komandin\u0117s eilut\u0117s per WP-CLI:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wp plugin get everest-forms-pro --fields=name,version,status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jei papildinys \u012fdiegtas ir versija \u017eemesn\u0117 nei 1.9.13 \u2014 atnaujinti. S\u0117kmingas atnaujinimas atrodo taip: <code>Success: Updated 1 of 1 plugins.<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wp plugin update everest-forms-pro<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jei papildinys aktyviai nenaudojamas \u2014 i\u0161jungti ir i\u0161trinti. Neaktyvus papildinys su pa\u017eeid\u017eiamu kodu diske vis tiek kelia pavoj\u0173 tam tikrose serverio konfig\u016bracijose:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wp plugin deactivate everest-forms-pro\nwp plugin delete everest-forms-pro<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Antras \u017eingsnis \u2014 patikrinti, ar svetain\u0117 jau nebuvo sukompromituota. Atakos vyksta nuo baland\u017eio, ir jei papildinys vis\u0105 t\u0105 laik\u0105 nebuvo atnaujintas \u2014 reikia patikrinti \u017eurnalus ir fail\u0173 sistem\u0105. Ie\u0161kome kompromiso po\u017eymi\u0173 nginx prieigos \u017eurnaluose \u2014 POST u\u017eklausas \u012f formas i\u0161 \u017einom\u0173 u\u017epuolik\u0173 IP:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -i \"POST\" \/var\/log\/nginx\/access.log | grep -i \"everest\\|evf_\" | grep \"202.56.2.126\\|209.146.60.26\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tikriname, ar per pastaruosius du m\u0117nesius neatsirado nauj\u0173 PHP fail\u0173 svetain\u0117s kataloge \u2014 tiek laiko pra\u0117jo nuo aktyvaus i\u0161naudojimo prad\u017eios. Komanda i\u0161ves vis\u0173 per t\u0105 laikotarp\u012f pakeist\u0173 PHP fail\u0173 s\u0105ra\u0161\u0105. Tarp j\u0173 bus teis\u0117ti failai i\u0161 planinio WordPress ir papildini\u0173 atnaujinimo \u2014 jie yra <code>wp-admin\/<\/code>, <code>wp-includes\/<\/code> ir papildini\u0173 kataloguose <code>wp-content\/plugins\/<\/code>. \u012etartinai atrodo failai <code>wp-content\/uploads\/<\/code> (PHP failai ten niekada netur\u0117t\u0173 patekti), failai \u0161akniname kataloge su ne\u012fprastais pavadinimais (atsitiktin\u0117s raid\u0117s, skai\u010diai) ir bet kokie failai u\u017e standartin\u0117s WordPress strukt\u016bros rib\u0173:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/var\/www\/html -name \"*.php\" -mtime -60<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ie\u0161kome kompromiso \u017eymeklio <code>diksimarina<\/code>, kur\u012f Wordfence nustat\u0117 atakose:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -r \"diksimarina\" \/var\/www\/html\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tikriname WordPress administratori\u0173 s\u0105ra\u0161\u0105 d\u0117l nepa\u017e\u012fstam\u0173 paskyr\u0173:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wp user list --role=administrator --fields=ID,user_login,user_email,user_registered<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jei rasti \u012ftartini PHP failai, ne\u017einomi administratoriai arba <code>diksimarina<\/code> p\u0117dsakai failuose \u2014 svetain\u0117 sukompromituota. \u0160iuo atveju atk\u016brimas i\u0161 atsargin\u0117s kopijos iki atak\u0173 prad\u017eios datos (iki baland\u017eio 13 d.) patikimesnis nei bandymas rankiniu b\u016bdu i\u0161valyti kenk\u0117ji\u0161k\u0105 program\u0105: u\u017epuolikas gal\u0117jo pasl\u0117pti kelis backdoor skirtingose fail\u0173 sistemos vietose.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IP adres\u0173 blokavimas nftables lygmeniu \u2014 papildoma priemon\u0117, suma\u017einsianti triuk\u0161m\u0105 \u017eurnaluose. Komanda veikia su s\u0105lyga, kad j\u016bs\u0173 nftables konfig\u016bracijoje jau yra set pavadintas <code>blocklist<\/code> lentel\u0117je <code>inet filter<\/code> \u2014 kaip tai sukonfig\u016bruota nftables kurse:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nft add element inet filter blocklist { 202.56.2.126, 209.146.60.26 }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jei prie\u0161 WordPress stovi Cloudflare WAF, galima blokuoti u\u017eklausas su b\u016bdingais PHP \u012fvykdymo \u0161ablonais POST turinyje per Custom Rule. Ta\u010diau patikimiausias sprendimas \u2014 atnaujinti papildin\u012f: tai visi\u0161kai u\u017edaro atakos vektori\u0173, o ne tik blokuoja konkre\u010dius IP, kuriuos u\u017epuolikas gali pakeisti per minutes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>I\u0160VADOS<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-3300 \u2014 klasikinis pavyzdys, kaip viena netinkamai pritaikyta funkcija paver\u010dia kontaktin\u0119 form\u0105 visi\u0161ko serverio per\u0117mimo ta\u0161ku. CVSS 9.8, unauthenticated RCE, aktyvus i\u0161naudojimas nuo baland\u017eio, 29 300 u\u017eblokuot\u0173 bandym\u0173. Pataisymas yra nuo kovo 18 d. \u2014 versija 1.9.13.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jei Everest Forms Pro \u012fdiegtas j\u016bs\u0173 serveryje: patikrinkite versij\u0105 dabar. Jei versija \u017eemesn\u0117 nei 1.9.13 \u2014 atnaujinkite ir per\u017ei\u016br\u0117kite \u017eurnalus nuo baland\u017eio 13 d. Jei papildinys nereikalingas \u2014 i\u0161trinkite.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u016bs\u0173 svetain\u0117 priima u\u017eklausas per kontaktin\u0119 form\u0105. Ka\u017ekas u\u017epildo lauk\u0105 \u201eVardas&#8221; \u2014 ir serveryje \u012fvykdomas bet koks PHP kodas. Ne tod\u0117l, kad buvo \u012fsilau\u017eta \u012f duomen\u0173 baz\u0119, ne tod\u0117l, kad buvo atsp\u0117tas slapta\u017eodis. Tiesiog tod\u0117l, kad \u012f formos lauk\u0105 buvo galima \u012fra\u0161yti k\u0105 tik nori, o papildinys tai perdav\u0117 tiesiai \u012f PHP funkcij\u0105 eval(). Taip veikia CVE-2026-3300 \u2014 kritinis pa\u017eeid\u017eiamumas WordPress papildinyje Everest Forms Pro, CVSS 9.8. Pa\u017eeid\u017eiamos visos versijos iki 1.9.12 imtinai. Pataisymas i\u0161leistas 2026 m. kovo 18 d. \u2014 versija 1.9.13. Aktyvus i\u0161naudojimas prad\u0117tas baland\u017eio 13 d. Wordfence duomenimis, iki bir\u017eelio prad\u017eios ugniasien\u0117 u\u017eblokavo daugiau nei 29 300 i\u0161naudojimo bandym\u0173, i\u0161 kuri\u0173 daugiau nei 17 900 \u2014 tik gegu\u017e\u0117s 16 d. Atakos t\u0119siasi. KAS YRA EVEREST FORMS PRO Everest Forms Pro \u2014 komercinis WPEverest papildinys, papildas prie nemokamo Everest Forms. J\u012f diegia tada, kai paprastos formos nebeu\u017etenka: reikia keli\u0173 \u017eingsni\u0173 anketos su s\u0105lyginiais laukais, registracijos formos su laiko pasirinkimu arba kainos skai\u010diuokl\u0117s tiesiai formoje, nepereinant prie krep\u0161elio. Tipiniai naudotojai \u2014 nedidel\u0117s internetin\u0117s parduotuv\u0117s, paslaug\u0173 \u012fmon\u0117s, agent\u016bros, kurioms reikia u\u017esakymo formos su dinaminiu kainodara. Apie 4 000 aktyvi\u0173 diegim\u0173 pagal Wordfence duomenis \u2014 skai\u010dius kuklus, bet tai neapsaugo: botnetai nesirenka taikini\u0173 pagal papildinio populiarum\u0105, jie nuskaituoja visk\u0105 i\u0161 eil\u0117s. Pa\u017eeid\u017eiama pasirod\u0117 konkreti Pro versijos funkcija \u2014 Complex Calculation. Tai papildinys, leid\u017eiantis kurti matematines formules i\u0161 formos lauk\u0173 reik\u0161mi\u0173: preki\u0173 kiekis padaugintas i\u0161 kainos, taikoma nuolaida pagal reklamin\u012f kod\u0105, pridedamos pristatymo i\u0161laidos. Visa tai vyksta serveryje pateikiant form\u0105 \u2014 PHP apskai\u010diuoja rezultat\u0105 ir gr\u0105\u017eina j\u012f klientui. B\u016btent \u010dia, tarp vartotojo \u012fvesties ir serverio skai\u010diavimo, atsirado skyl\u0117 kaip sunkve\u017eimis. KAIP VEIKIA PA\u017dEID\u017dIAMUMAS Kai vartotojas pateikia form\u0105 su \u012fjungta Complex Calculation funkcija, lauk\u0173 reik\u0161m\u0117s patenka \u012f papildinio funkcij\u0105 process_filter(). Ten jos sujungiamos \u012f PHP kodo eilut\u0119, kuri perduodama \u012f eval(). Id\u0117ja suprantama: reikia dinami\u0161kai apskai\u010diuoti formul\u0119 i\u0161 vartotojo \u012fvesties. Problema ta, kad \u012fvestis prie\u0161 tai praeina tik per sanitize_text_field(). \u0160i WordPress funkcija skirta tekstui i\u0161valyti nuo HTML \u017eym\u0173 ir perteklini\u0173 tarp\u0173 \u2014 ji pa\u0161alina &lt;script&gt; ir pana\u0161ias konstrukcijas. Ta\u010diau viengub\u0173 kabu\u010di\u0173 ir kit\u0173 PHP sintaksei svarbi\u0173 simboli\u0173 ji nelie\u010dia. PHP kodo generavimo kontekste tai katastrofa: \u201esaugu&#8221; i\u0161 HTML perspektyvos atrodo \u012fvestis gali b\u016bti visavert\u0117 PHP injekcija. Everest Forms Pro k\u016br\u0117jai supainiojo kontekstus \u2014 jie panaudojo HTML valymo \u012frank\u012f ten, kur reik\u0117jo PHP ekranavimo. Rezultatas: u\u017epuolikas \u012fra\u0161o specialiai suformuot\u0105 PHP payload \u012f bet kur\u012f eilut\u0117s tipo formos lauk\u0105 (tekstas, email, URL, select, radio). Forma turi naudoti Complex Calculation \u2014 tai b\u016btina s\u0105lyga. Jokio autentifikavimo nereikia: bet kuris svetain\u0117s lankytojas gali pateikti form\u0105. Serveris gauna u\u017eklaus\u0105, process_filter() surenka eilut\u0119 i\u0161 vartotojo reik\u0161mi\u0173, eval() j\u0105 \u012fvykdo kaip PHP kod\u0105 su vartotojo, kuriuo veikia \u017einiatinklio serveris, teis\u0117mis. REALI ATAKOS GRANDIN\u0116 Viskas prasideda nuo automatizuoto nuskaitymo. Botai \u0161liau\u017eia per WordPress svetaines ie\u0161kodami Everest Forms Pro \u2014 pagal b\u016bdingus CSS klases ir formos atributus, kuriuos papildinys \u012fterpia \u012f kiekvien\u0105 puslap\u012f. Tai automatizuotas procesas: specializuoti \u0161liau\u017eikliai ap\u017evelgia milijonus svetaini\u0173 ie\u0161kodami konkre\u010di\u0173 papildini\u0173 para\u0161\u0173. Rad\u0119 form\u0105 su Complex Calculation, botas siun\u010dia POST u\u017eklaus\u0105 su paruo\u0161tu payload tekstiniame lauke. Payload sukuria PHP fail\u0105 serveryje \u2014 web shell. Visas \u0161is procesas nuo aptikimo iki shell \u012fd\u0117jimo trunka sekundes. Po to u\u017epuolikas pereina prie rankinio darbo. Per HTTP u\u017eklausas \u012f web shell jis nuskaito wp-config.php \u2014 ten saugomi duomen\u0173 baz\u0117s prisijungimo duomenys. Tur\u0117damas DB slapta\u017eod\u012f, jis prisijungia prie MySQL ir sukuria nauj\u0105 WordPress administratoriaus paskyr\u0105 \u2014 b\u016btent \u0161\u012f model\u012f Wordfence u\u017efiksavo atakose. Tuo pat metu jis nar\u0161o fail\u0173 sistem\u0105: kiti konfig\u016braciniai failai, SSH raktai nam\u0173 kataloguose, .env failai, \u017eurnalai su slapta\u017eod\u017eiais. Jei serveryje veikia kelios svetain\u0117s viename PHP-FPM fonde \u2014 u\u017epuolikas gauna prieig\u0105 prie vis\u0173 j\u0173 fail\u0173, ne tik prie u\u017epultos svetain\u0117s. Klasikinis lateral movement: \u012fsilau\u017eta \u012f vien\u0105 svetain\u0119 \u2014 prieiga prie de\u0161imties. Wordfence nustat\u0117 b\u016bding\u0105 kompromiso \u017eymekl\u012f \u2014 eilut\u0119 diksimarina \u017eurnaluose ir u\u017epuoliko sukurtuose failuose. Pagrindinis atak\u0173 srautas ateina i\u0161 dviej\u0173 IP adres\u0173: 202.56.2.126 ir 209.146.60.26. Wordfence skelbia vis\u0105 IOC s\u0105ra\u0161\u0105, ta\u010diau \u0161ie du yra aktyviausi. U\u017epuolikas gali pakeisti IP per kelias minutes, tod\u0117l konkre\u010di\u0173 adres\u0173 blokavimas naudinga laikina priemon\u0117, bet ne pagrindin\u0117 apsauga. CHRONOLOGIJA 2026 m. vasaris: tyr\u0117jas slapyvard\u017eiu h0xilo prane\u0161\u0117 apie pa\u017eeid\u017eiamum\u0105 per Wordfence Bug Bounty program\u0105. Kovo 18 d. WPEverest i\u0161leido pataisym\u0105 \u2014 versija 1.9.13. Kovo 30 d. Wordfence paskelb\u0117 CVE ir techninius duomenis. Baland\u017eio 13 d. prasid\u0117jo aktyvi i\u0161naudojimas \u2014 pra\u0117jus 26 dienoms po pataisymo i\u0161leidimo. 26 dien\u0173 tarpas tarp pataisymo ir i\u0161naudojimo \u2014 tipinis vaizdas WordPress papildiniams. Dauguma svetaini\u0173 neatnaujinamos automati\u0161kai. Dalis savinink\u0173 apskritai neseka papildini\u0173 atnaujinim\u0173. Per t\u0105 laik\u0105 u\u017epuolikai i\u0161analizavo pataisym\u0105, atk\u016br\u0117 pa\u017eeid\u017eiam\u0105 kod\u0105, para\u0161\u0117 i\u0161naudojim\u0105 ir prad\u0117jo masin\u012f nuskaitymo. Gegu\u017e\u0117s 16 d. \u2014 atak\u0173 pikas: 17 900 bandym\u0173 per vien\u0105 dien\u0105. Tai rodo, kad ka\u017ekas \u012ftrauk\u0117 CVE-2026-3300 \u012f savo automatizuot\u0105 masinio nuskaitymo \u012franki\u0173 rinkin\u012f. KOD\u0116L TAI SVARBU 4 000 diegim\u0173 \u2014 tai ne t\u016bkstan\u010diai pa\u017eeid\u017eiam\u0173 serveri\u0173, kaip b\u016bna su populiariais papildiniais kaip Contact Form 7 ar Yoast SEO. Ta\u010diau WordPress atakos retai b\u016bna tikslin\u0117s: botnetai nuolat nuskaituoja internet\u0105 ir puola visk\u0105, kas pasitaiko. Jei j\u016bs\u0173 svetain\u0117 naudoja Everest Forms Pro ir neatnaujinta \u2014 ji jau yra u\u017epuolik\u0173 s\u0105ra\u0161uose, nesvarbu, kokia ji \u201ema\u017ea&#8221; ar \u201ene\u012fdomi&#8221;. Svarbiau kita: RCE per form\u0105 \u2014 tai visi\u0161kas serverio per\u0117mimas \u017einiatinklio proceso teisi\u0173 prasme. U\u017epuolikas gauna ne tik prieig\u0105 prie duomen\u0173 baz\u0117s per SQL injekcij\u0105, o galimyb\u0119 vykdyti bet kok\u012f kod\u0105. Tai rei\u0161kia web shell k\u016brim\u0105, bet koki\u0173 PHP pasiekiam\u0173 fail\u0173 skaitym\u0105, svetain\u0117s kodo keitim\u0105, prisijungimo duomen\u0173 vagyst\u0119 i\u0161 wp-config.php. Jei tame pa\u010diame serveryje veikia kitos svetain\u0117s tame pa\u010diame PHP-FPM fonde \u2014 jos irgi pavojuje. Klasikinis lateral movement bendro hostingo aplinkoje. Yra ir ne toks akivaizdus pavojus. \u0160io klaidos tipas \u2014 vartotojo \u012fvestis \u012f eval() \u2014 n\u0117ra b\u016bdingas tik Everest Forms Pro. WordPress ekosistema mil\u017eini\u0161ka: t\u016bkstan\u010diai papildini\u0173, daugelis kuri\u0173 \u012fgyvendina pana\u0161i\u0105 dinamin\u0119 logik\u0105. CVE-2026-3300 istorija \u2014 geras priminimas, kad bet kuris papildinys su \u201ei\u0161maniosiomis&#8221; formomis, kain\u0173 skai\u010diuokl\u0117mis ar dinaminiais laukais gali daryti ka\u017ek\u0105 pana\u0161aus. Kaip sistemos administratorius negalite patikrinti kiekvieno papildinio kodo \u2014 bet galite juos laikyti atnaujintus, steb\u0117ti Wordfence Intelligence ir sukonfig\u016bruoti \u012fsp\u0117jimus apie naujus PHP failus svetain\u0117s kataloge. Tai suma\u017eina pa\u017eeid\u017eiamumo lang\u0105 nuo \u201ekol kas nors ne\u012fsilau\u017e\u0117&#8221; iki \u201ekol nei\u0161leistas pataisymas&#8221;. K\u0104 DARYTI Pirma \u2014 patikrinti papildinio versij\u0105. WordPress konsol\u0117je: Papildiniai \u2192 \u012ediegti papildiniai \u2192 rasti Everest [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":20338,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[202,199,155,151],"tags":[266,267,288,360,338,361,362],"class_list":["post-20341","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cve-lt","category-linux-lt","category-saugumas","category-wordpress","tag-cve","tag-cybersecurity","tag-linux","tag-pluginsecurity","tag-rce","tag-webshell","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/posts\/20341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/comments?post=20341"}],"version-history":[{"count":2,"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/posts\/20341\/revisions"}],"predecessor-version":[{"id":20345,"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/posts\/20341\/revisions\/20345"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/media\/20338"}],"wp:attachment":[{"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/media?parent=20341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/categories?post=20341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysadmin.courses\/lt\/wp-json\/wp\/v2\/tags?post=20341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}