WordPress отстрани критична уязвимост в своя основен софтуер, която позволява на атакуващ без акаунт да накара сайт да зареди PHP файл извън папките на неговата тема.

На някои сървъри това може да стигне по-далеч, позволявайки на киберпрестъпника да изпълни собствен код. Корекцията бе качена на 22 септември в WordPress 7.1.2, с корекции за всеки клон, поддържан от проекта до версия 4.7, като WordPress съветва собствениците на сайтове да обновят веднага.

WordPress оценява уязвимостта като критична с CVSS рейтинг от 9.2 и я обозначава като CVE-2026-87902. За нейното експлоатиране не се изисква акаунт или действие от страна на влязъл в системата потребител.

Засегнати са всички версии от 4.7.0 до 7.1.1. Това включва и 7.1.1 от изданието за сигурност на WordPress от 17 септември, така че сайт, обновен преди по-малко от седмица, все още се нуждае от тази корекция. Това е отделна уязвимост от тези, които бяха отстранени в предишното издание.

Версията, до която трябва да обновите, зависи от клона, който използвате:

Клон, който използватеОбновете до
7.1.x7.1.2
7.0.x7.0.6
6.9.x6.9.9
6.8.x6.8.10
6.7.x6.7.9
6.6.x6.6.9

WordPress портна обратно корекцията за сигурност към всеки по-стар клон, който все още поддържа като жест на внимание, стигайки до 4.7.37. Пълният списък е наличен в бележките към изданието.

Сайтовете с активирани автоматични фонови обновления ще започнат актуализацията автоматично. Останалите могат да обновят от таблото за управление в меню Обновявания или да изтеглят изданието от WordPress.org. WordPress не предлага отделно временно решение, така че инсталирането на актуализацията е единственият начин за отстраняване на уязвимостта.

Зареждането на локален PHP файл изпълнява каквото и да е съдържанието в този файл. Превръщането на това в изпълнение на злонамерен код по избор на атакуващия изисква второ условие: сървърът вече трябва да съдържа PHP файл, който извършва нещо полезно при зареждане. Това се има предвид под „някои сървъри“ в описанието на WordPress и е причината уязвимостта да не означава пълно изпълнение на код на всеки засегнат сайт.

Уязвимостта се намира в начина, по който WordPress избира файла с шаблон за дадена страница. Едно от имената на файлове, които генерира, идва от част от уеб адреса, като в засегнатите версии WordPress не прекарва тази стойност през собствената си проверка за ../ traversal стъпки – проверка, която съседният код вече използва.

Тъй като името се изгражда като page-{value}.php, за успешна атака е необходимо активната тема да има папка на първо ниво, чието име започва с page-, а целевият файл трябва да завършва на .php. Някои теми, включително по-стари стандартни теми на WordPress, съдържат подходяща папка.

Компанията за сигурност Patchstack в своя анализ посочва, че две проверки показват на собственика на сайт доколко е изложен на риск: дали активната тема има папка на първо ниво, чието име започва с page-, и дали PHP работи с включена настройка register_argc_argv, от която зависи известна техника за изпълнение на код.

Нито едно от двете не е решение за отстраняване на уязвимостта, посочват от компанията, но и двете показват колко близо е даден сайт до най-лошия сценарий. Тази настройка е изключена по подразбиране в PHP 8.5 и е включена по подразбиране в по-старите PHP версии.

Към 22 септември няма данни уязвимостта да е била използвана при атаки, няма публичен proof-of-concept експлойт и няма вписване за нея в каталога CISA Known Exploited Vulnerabilities на САЩ.

WordPress отдаде заслуженото на Робърт Ресл за откриването и докладването на уязвимостта. The Hacker News се свърза с WordPress и Ресл за коментар.