Znalostnej bázy Jednoduchý návod na prácu so službou Profitserver
Hlavná Znalostnej bázy Zraniteľnosť WordPressu CVE-2026-119977: Stránky napadnuté počas aktualizácií a ako chrániť tie svoje

Zraniteľnosť WordPressu CVE-2026-119977: Stránky napadnuté počas aktualizácií a ako chrániť tie svoje


Koncom októbra 2026 bola v mechanizme aktualizácie WordPressu nájdená zraniteľnosť: CVE-2026-119977 . Umožňuje útočníkovi bez prihlasovacieho mena alebo hesla spustiť ľubovoľný kód na serveri – ale iba počas aktualizácie stránky. Táto zraniteľnosť sa už používa pri reálnych útokoch.

Nižšie je uvedené, ako to funguje, koho sa to týka a čo robiť na ochranu vašej stránky.

Zraniteľnosť v skratke

  • Čo to je: stav pretekania (trieda TOCTOU) v procese úplnej aktualizácie jadra WordPressu.
  • Závažnosť: CVSS 8.1 (vysoký).
  • Dotknuté verzie: WordPress 4.7 až 7.1.3 vrátane.
  • Čo útočník potrebuje: iba HTTP prístup k stránke. Nie je potrebné žiadne overenie ani zásah správcu.
  • Využitie: 3. novembra 2026 spoločnosť CISA pridala túto zraniteľnosť do svojho katalógu známych zneužitých zraniteľností (KEV). Wordfence zaznamenal v prvých 21 hodinách po zverejnení podrobností viac ako 18 500 požiadaviek na zraniteľné cesty.

Ako útok funguje

Počas úplnej aktualizácie jadra WordPress vykoná nasledovné:

  1. Stiahne archív s novou verziou.
  2. Rozbalí ho do dočasného priečinka vo vnútri wp-content/upgrade/.
  3. Skopíruje súbory cez aktívnu stránku.
  4. Odstráni dočasný priečinok.

Problém je v tom, že dočasný priečinok sa nachádza na predvídateľná cesta a je dostupné z prehliadačaVnútri sa nachádza kompletná kópia WordPressu vrátane setup-config.php Inštalačný program.

Počas behu aktualizácie môže útočník otvoriť tento inštalátor a prejsť si ho. Vďaka tomu môže nahradiť aktívny wp-config.php a nasmerujú stránku na ich vlastnú prázdnu databázu. WordPress potom ponúkne „inštaláciu“ – útočník ju dokončí, stane sa administrátorom a spustí na serveri vlastný PHP kód.

Okno útoku je niekoľko sekúnd, ktoré aktualizácia trvá. To sťažuje vykonanie útoku v praxi, ale hromadné skenery neustále skúmajú zraniteľné cesty a počítajú s presným načasovaním, aby sa zoradili.

Verzia 7.1.4 náhodne upravuje názov dočasného priečinka, pridáva ochranu pred priamym prístupom a blokuje prenos konfigurácie z dočasnej kópie.

časová os

dátumudalosť
Októbra 28, 2026Publikované sú WordPress 7.1.4 a opravené verzie pre staršie vetvy
Októbra 30, 2026Zaznamenané sú prvé pokusy o zneužitie
Októbra 31, 2026Zraniteľnosť je označená ako CVE-2026-119977
Novembra 3, 2026CISA pridáva zraniteľnosť do katalógu KEV

Pevné verzie

Oprava bola spätne portovaná do všetkých podporovaných vetví až po verziu 4.7. Odporúčame aktualizovať na najnovšiu verziu 7.1.4.

VetvaPevná verzia
7.17.1.4
7.07.0.8
6.96.9.11
6.86.8.12
6.76.7.11
6.66.6.11
6.56.5.14
6.46.4.14
6.36.3.14
6.26.2.15
6.16.1.16
6.06.0.18
5.x, 4.7–4.9Opravená verzia pre každú vetvu až do verzie 4.7.39

Verzie 4.6 a staršie nedostali opravu. Tieto stránky je potrebné aktualizovať na aktuálnu verziu alebo ich vyradiť z prevádzky.

Krok 1. Skontrolujte si verziu WordPressu

V administrátorskom paneli: Ovládací panel → Aktualizácie . Nespoliehajte sa na automatické aktualizácie – nemusia sa spustiť: môžu byť vypnuté, zlyhať kvôli oprávneniam súboru alebo byť prepísané doplnkom.

S WP-CLI:

wp core version

Ak máte na serveri viacero stránok, každú inštaláciu WordPressu a jej verziu nájdete takto:

find /var/www -path '*/wp-includes/version.php' -exec grep -H "wp_version =" {} \;

vymeniť /var/www s adresárom, kde sa nachádzajú vaše stránky.

Krok 2. Zablokujte prístup k wp-content/upgrade/ (pre VPS a dedikované servery)

Toto je najdôležitejšie opatrenie. Zatvorí okno útoku bez ohľadu na vašu verziu WordPressu a nezasahuje do aktualizácií: WordPress pracuje s týmto priečinkom prostredníctvom súborového systému, nie cez web. Urobte to pred aktualizáciou, pretože k útoku dochádza práve počas aktualizácie.

nginx

Pridajte toto na svoju stránku server blok:

location ^~ /wp-content/upgrade/ {
    deny all;
}

Otestujte konfiguráciu a znova načítajte nginx:

nginx -t && systemctl reload nginx

Apache a LiteSpeed

Pridajte toto k .htaccess súbor v koreňovom adresári stránky, vyššie štandardné # BEGIN WordPress blok:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-content/upgrade/ - [F,L]
</IfModule>

Ak máte prístup ku konfigurácii virtuálneho hostiteľa Apache, je spoľahlivejšie zablokovať adresár tam:

<Directory "/var/www/example.com/wp-content/upgrade">
    Require all denied
</Directory>

Nahraďte cestu vlastnou a znova načítajte Apache:

apachectl configtest && systemctl reload apache2

Na systémoch AlmaLinux, Rocky a iných systémoch založených na RHEL sa táto služba nazýva httpd.

Skontrolujte, či blok funguje

curl -I https://example.com/wp-content/upgrade/

Odpoveď by mala vrátiť kód 403.

Krok 3. Vytvorte zálohu

Pred aktualizáciou si zálohujte súbory a databázu lokality. Pomocou WP-CLI:

wp db export ~/backup-$(date +%F).sql
tar -czf ~/site-files-$(date +%F).tar.gz -C /var/www/example.com .

Ak máte VPS, môžete si tiež vytvoriť snímku servera v ovládacom paneli.

Krok 4. Aktualizujte WordPress

Prostredníctvom administrátorského panela alebo WP-CLI

Ak ste zablokovali prístup k wp-content/upgrade/ (Krok 2), aktualizujte ako obvykle – z administrátorského panela alebo pomocou WP-CLI:

wp core update
wp core update-db
wp core version

Posledný príkaz by mal zobraziť verziu 7.1.4 alebo opravenú verziu pre vašu vetvu.

Manuálne, bez útočného okna

Ak nemôžete zablokovať prístup k adresáru na úrovni webového servera (napríklad nemáte prístup k jeho konfigurácii), je bezpečnejšie aktualizovať manuálne. Archív sa extrahuje mimo koreňového adresára lokality a súbory sa skopírujú bez toho, aby sa ich niekto dotkol. wp-config.php or wp-content:

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
rsync -a --exclude 'wp-content' --exclude 'wp-config.php' /tmp/wordpress/ /var/www/example.com/
rm -rf /tmp/wordpress /tmp/latest.tar.gz

Potom obnovte vlastníctvo súboru (používateľ webového servera sa môže líšiť, napríklad nginx or apache) a aktualizujte databázu:

chown -R www-data:www-data /var/www/example.com
wp core update-db

Namiesto posledného príkazu môžete otvoriť https://example.com/wp-admin/upgrade.php vo vašom prehliadači.

Nezabudnite na pluginy a témy

wp plugin update --all
wp theme update --all

Krok 5. Skontrolujte svoju stránku, či neobsahuje známky kompromitácie

Ak bola vaša stránka aktualizovaná zo zraniteľnej verzie po 28. októbri, uistite sa, že nikto nezneužil útok.

Požiadavky pre dočasných inštalatérov v protokoloch:

# nginx
grep -E "wp-content/upgrade/.*\.php" /var/log/nginx/access.log*

# Apache
grep -E "wp-content/upgrade/.*\.php" /var/log/apache2/access.log*

Žiadosti s 200 kód odpovede je obzvlášť podozrivý.

Nahradený súbor wp-config.php: skontrolujte dátum úpravy súboru a nastavenia pripojenia k databáze.

ls -l /var/www/example.com/wp-config.php
grep -E "DB_(NAME|USER|HOST)" /var/www/example.com/wp-config.php

Integrita jadra súboru:

wp core verify-checksums

Neznáme PHP súbory a administrátori:

find /var/www/example.com/wp-content/upgrade /var/www/example.com/wp-content/uploads -name "*.php"
find /var/www/example.com -name "*.php" -mtime -10
wp user list --role=administrator

Ak nájdete náhradu wp-config.php, neznámych administrátorov alebo neočakávané súbory PHP, považujte stránku za napadnutú. Obnovte ju zo zálohy vytvorenej pred 28. októbrom, aktualizujte WordPress a zmeňte všetky heslá: administrátorské, databázové, FTP a SSH.

Ak vašu stránku udržiava dodávateľ

Prepošlite im tento článok a požiadajte ich o potvrdenie, že stránka bola aktualizovaná na opravenú verziu a skontrolovaná na známky napadnutia.

Potrebujete pomôcť?

Nie ste si istí, či si s tým poradíte sami, alebo ste našli podozrivé súbory? Kontaktujte náš tím podpory – pomôžeme vám to vyriešiť.


Opýtajte sa nás na VPS

Sme vždy pripravení odpovedať na vaše otázky kedykoľvek počas dňa alebo v noci.