WordPress днес публикува корекции за сигурност за отстраняване на нов набор от уязвимости в основния си софтуер, една от които би могла да позволи чрез специално изработена уеб връзка, отворена от влезлия в системата администратор, да се инсталира тема от официалния директориум на WordPress.org, без никой да натиска бутона „Инсталиране“.
Фирмата за киберсигурност pwn.ai, чиито изследователи съобщиха за слабостта, нарича веригата от атаки Click2Shell. Сама по себе си уязвимостта инсталира само истинска тема, избрана от атакуващия, но екипът от изследователи по сигурността показа, че тя може да бъде комбинирана с отделна слабост в дадена тема, за да се изпълни собствен злонамерен код на атакуващия върху сървъра.
Корекцията беше внедрена на 17 септември в WordPress 7.1.1. Тъй като това е версия, свързана със сигурността, WordPress препоръчва незабавно обновяване. Няма данни уязвимостта да е била използвана в реални атаки.
Инсталираната тема остава изключена, така че външният вид на самия сайт не се променя и нищо не изглежда нередно. За да се стигне до изпълнение на код, е била необходима втора, отделна грешка в инсталираната тема. Както pwn.ai написа само за грешката в ядрото: „Грешката в ядрото сама по себе си не приема произволен ZIP файл с тема.“
Уязвимостта работи, защото две части на WordPress разчитат една и съща връзка по различен начин. Директориумът WordPress.org третира стойността във връзката като обикновено име на тема и връща реална тема, но браузърът на администратора повторно използва оригиналния текст, заедно с пунктуацията, в код, предназначен да избере елемент на страницата. Символите, добавени от атакуващия към връзката, изпращат този код към бутона „Инсталиране“ и собственият скрипт на WordPress го щраква.
Тъй като администраторът вече е влязъл в системата, неговата сесия предоставя разрешенията и токена за сигурност, от които се нуждае инсталацията, така че атакуващият не предоставя нито едно от двете.
Инсталираната тема не винаги е неактивна. Когато WordPress създава визуализация в своя инструмент Customizer, той може да зареди PHP кода на дадена тема още преди тя да бъде включена.
Темата, използвана от pwn.ai — Mobile Repair Zone, съдържа втора уязвимост: фонов манипулатор, който извлича уеб адрес от заявката, изтегля пакет и изпълнява неговия код, без проверка за разрешенията на посетителя или токен за сигурност. Свързан верижно след принудителното инсталиране, този манипулатор изпълнява кода на атакуващия на сървъра.

Изследователите оцениха уязвимостта за принудително инсталиране сама по себе си като висока по степен на сериозност с CVSS резултат 7.1, а пълната верига до изпълнение на код — като критична (9.6). WordPress все още не е публикувал собствена оценка за сериозност, а в прессъобщението си описа проблема така: „Специално изработени URL адреси могат автоматично да инсталират и преглеждат неактивна тема от WordPress.org.“ Все още не е присвоен CVE идентификатор, въпреки че pwn.ai съобщава, че WordPress планира да добави такъв.
WordPress коригира уязвимостта във версия 7.1.1 като част от издание за сигурност, чиито корекции достигат до поддържаните клонове назад до версия 4.7. Бележките потвърждават тази слабост от версия 6.0 до изданията непосредствено преди корекцията. Собствениците на сайтове трябва да инсталират 7.1.1 или съответния актуализиран клон, а сайтовете, настроени за автоматично обновяване, ще го получат самостоятелно.
Ако не можете да актуализирате веднага, имайте предвид, че нито WordPress, нито pwn.ai предлагат отделно временно решение и че атаката все пак изисква влязъл в системата администратор да отвори връзката на атакуващия. Обновяването на ядрото на WordPress затваря демонстрираната атака независимо от това каква тема използва даден сайт.
Click2Shell не е първата уязвимост в ядрото на WordPress, открита от фирмата през последните седмици. През август WordPress отстрани подобна уязвимост, намерена от pwn.ai в екрана за вход, която също водеше до изпълнение на код, като и тогава WordPress описа риска по-стеснено от самите изследователи.
Различна уязвимост в ядрото на WordPress, разкрита през юли и наречена wp2shell, не е свързана с работата на pwn.ai. Тази уязвимост не изисква влизане в системата или щракване, а американската агенция за киберсигурност CISA я включи в списъка на активно експлоатираните в реални атаки — нещо, което все още не се отнася за Click2Shell.