Преглед на приватноста

Оваа веб-страница користи колачиња за да ви обезбеди најдобро можно корисничко искуство. Информациите за колачињата се складираат во вашиот прелистувач и извршуваат функции како препознавање кога се враќате на нашата веб-страница и им помагаат на нашите програмери да разберат кои делови од веб-страницата ви се најинтересни и најкорисни.

Строго неопходни колачиња

Строго неопходните колачиња треба да бидат овозможени во секое време за да можеме да ги зачуваме вашите поставки за колачиња.

Новата ранливост wp2shell во WordPress Core им овозможува на неавтентицирани напаѓачи да извршуваат код

Ажурирано на 18 јули 2026 година: Двете ранливости сега имаат официјални CVE ознаки, објавен е целосниот механизам на нападот, откриен е дополнителен услов поврзан со persistent object cache, а на GitHub е достапен и функционален proof-of-concept (PoC).

Едно обично анонимно HTTP барање може да доведе до извршување на произволен код (Remote Code Execution – RCE) на WordPress веб-страница. Проблемот се наоѓа во WordPress Core, што значи дека е ранлива дури и целосно „чиста“ инсталација без ниту еден додаток (plugin).

Сите WordPress инсталации со верзиите 6.9 и 7.0 беа ранливи сè до петокот, кога WordPress ги објави 6.9.5 и 7.0.2, истовремено активирајќи ги т.н. принудни ажурирања (forced updates) преку својот систем за автоматски надградби.

wp2shell се состои од две ранливости

Всушност, wp2shell не е една ранливост, туку комбинација од две:

  • CVE-2026-63030 – конфузија (confusion) во REST API batch рутата.
  • CVE-2026-60137SQL Injection ранливост во WordPress Core.

Кога овие две ранливости се искористуваат заедно, тие му овозможуваат на анонимен напаѓач да премине од едноставно HTTP барање до целосно далечинско извршување на код.

Од петокот наваму, целосниот технички механизам на нападот е јавно објавен, а на GitHub е достапен и функционален PoC.

Откривање на ранливоста

Adam Kues од Assetnote, компанија во рамките на Searchlight Cyber која се занимава со управување со нападната површина (Attack Surface Management), ја открил ранливоста во batch route и ја пријавил преку програмата HackerOne на WordPress.

Во техничкиот извештај, објавен под името wp2shell, се наведува дека нападот:

„нема никакви предуслови и може да биде извршен од анонимен корисник.“

SQL Injection ранливоста, пак, независно ја пријавиле истражувачите TF1T, dtro и haongo.

Searchlight сè уште не ја објавува својата детална техничка анализа и ги упатува администраторите на алатката за проверка достапна на wp2shell.com. Но тоа повеќе нема големо значење – закрпите се јавни, а другите истражувачи веќе успеале да ја анализираат нивната содржина.

Кои верзии се погодени?

Двете ранливости не ги засегаат истите верзии на WordPress.

  • SQL Injection постои уште од WordPress 6.8.
  • REST API batch ранливоста, која овозможува SQL Injection да прерасне во RCE, постои само од WordPress 6.9.

Погодените верзии се:

  • 6.8.0 – 6.8.5 → само SQL Injection (поправено во 6.8.6)
  • 6.9.0 – 6.9.4 → целосен синџир за RCE (поправено во 6.9.5)
  • 7.0.0 – 7.0.1 → целосен синџир за RCE (поправено во 7.0.2)

Во WordPress 7.1 beta 2 веќе се вклучени двете поправки.

Важно е да се напомене дека WordPress 6.8 не е ранлив на RCE преку овој синџир, поради што верзијата 6.8.6 ја поправа само SQL Injection ранливоста.

Принудните ажурирања

WordPress сè уште не потврдил дали forced updates се применуваат и на инсталации каде автоматските ажурирања се исклучени.

Поради тоа, администраторите треба да ја проверат реалната верзија што моментално ја користат, наместо да претпоставуваат дека системот автоматски се ажурирал.

Колкав е ризикот?

Searchlight проценува дека повеќе од 500 милиони веб-страници користат WordPress.

Сепак, тоа не значи дека сите тие се изложени на оваа ранливост.

Синџирот што овозможува Remote Code Execution постои само во верзиите 6.9 и понови, кои беа објавени на 2 декември 2025 година.

Затоа, сите потенцијално изложени веб-страници користат релативно нови верзии на WordPress (помлади од осум месеци), но досега ниту едно официјално известување не наведува колку точно инсталации се погодени.

Како функционира нападот?

Нападот се состои од две одделни грешки.

SQL Injection

SQL Injection се наоѓа во параметарот author__not_in на WP_Query.

Наместо да добие низа (array), ако параметарот добие обичен стринг, проверката што очекува низа се прескокнува и внесената вредност директно се вметнува во SQL барањето.

REST API Batch Route

За анонимен корисник да стигне до овој параметар е задолжена ранливоста во /wp-json/batch/v1.

Оваа REST API рута овозможува повеќе барања да се обработат во едно HTTP повикување.

WordPress ги следи тие барања преку две паралелни низи.

Доколку едно под-барање предизвика грешка, двете низи се поместуваат за една позиција, поради што следното барање се обработува преку погрешен обработувач (handler).

Кога овие две ранливости ќе се комбинираат, се заобиколува листата на дозволени REST API рути и податоците на напаѓачот стигнуваат до ранливото SQL барање – без каква било автентикација.

Важно е да се нагласи дека batch endpoint постои уште од WordPress 5.6 (2020 година), но механизмот што ја овозможува оваа злоупотреба е воведен дури во WordPress 6.9.

CVSS оценките создаваат забуна

WordPress официјално ја класифицира RCE комбинацијата како Critical.

Но, CVE записот ѝ доделува CVSS оценка 7.5 (High) бидејќи оценката ја зема предвид само можноста за пристап до податоци, а не и последиците врз интегритетот и достапноста што ги носи извршувањето на код.

Од друга страна, самата SQL Injection ранливост добива оценка повисока од 9.1 (Critical).

Со други зборови, според CVSS, SQL Injection изгледа покритична од самиот RCE синџир, бидејќи системот за оценување ги третира овие две ранливости одделно.

Поради тоа, безбедносните тимови треба да ги следат двата CVE идентификатори, а не само нивните оценки.

Дополнителен услов

Според Cloudflare, RCE синџирот функционира само ако WordPress не користи persistent object cache.

Стандардната WordPress инсталација нема ваков кеш, што значи дека стандардните инсталации остануваат изложени.

Доколку WordPress користи Redis или Memcached како persistent object cache, можеби нема да биде ранлив на оваа конкретна RCE техника.

Но тоа не претставува безбедносна поправка, ниту пак го спречува SQL Injection нападот.

Детекција

По добивањето на официјалните CVE ознаки, безбедносните скенери конечно можат да ја препознаат ранливоста.

Компанијата Rapid7 најави дека проверките за InsightVM и Nexpose ќе бидат достапни од 20 јули.

Заклучно со 18 јули, ранливоста сè уште не беше додадена во каталогот Known Exploited Vulnerabilities (KEV) на CISA, бидејќи нема официјално потврдени случаи на активна експлоатација.

Зошто е потребна брза реакција?

Масовната експлоатација на WordPress ранливости одамна стана секојдневна појава.

Како пример се наведува групата WP-SHELLSTORM, која пред протекувањето на својот сервер во јуни успеала да компромитира повеќе од 17.000 WordPress веб-страници, користејќи ранливост во plugin за кеширање што веќе била јавно позната и закрпена.

Разликата е што таа ранливост барала нестандардна конфигурација.

Оваа, пак, работи и на стандардна WordPress инсталација.

Ако не можете веднаш да ажурирате

Searchlight препорачува привремени мерки што имаат за цел да го блокираат анонимниот пристап до batch endpoint. Сепак, сите тие се само привремени решенија додека не се инсталира официјалната закрпа и можат да нарушат нормална работа на легитимни интеграции.

Препорачаните мерки се:

  • Блокирање на /wp-json/batch/v1 и rest_route=/batch/v1 преку WAF. Треба да се блокираат двата начина на пристап, бидејќи блокирањето само на URL-патеката остава можност за пристап преку параметарот rest_route. Cloudflare соопшти дека неговите управувани WAF правила веќе го блокираат овој синџир на напад.
  • Целосно исклучување на WordPress REST API, со што се оневозможува неавтентициран REST пристап.
  • Инсталирање на мал drop-in plugin објавен од Searchlight, кој ги одбива анонимните барања кон /batch/v1 преку rest_pre_dispatch.

Времето е клучно

WordPress Core е проект со отворен код, а секоја нова верзија јавно ги наведува изменетите датотеки.

Тоа значи дека секој истражувач може да ги анализира промените и да открие како функционира поправката.

Searchlight ја задржа својата детална анализа, но само еден ден подоцна други истражувачи успеаа да ја реконструираат ранливоста, да го објават механизмот на нападот и да постават функционален exploit на GitHub.

Со други зборови, не е можно да се објави закрпа без истовремено да се открие и патот до ранливоста.

Единственото што може да се направи е закрпата да стигне до што е можно повеќе веб-страници пред напаѓачите да развијат exploit.

WordPress токму тоа се обиде да го постигне преку принудните автоматски ажурирања.

Сега exploit-от веќе е јавно достапен, додека процесот на ажурирање сè уште е во тек.

Статистиката за верзиите на WordPress ќе покаже колку веб-страници ја инсталирале закрпата, а количината на сообраќај насочен кон batch/v1 ќе покаже колку напаѓачи се обиделе да ја искористат ранливоста.

Која од овие две бројки ќе расте побрзо, ќе покаже како ќе биде запаметен овој безбедносен инцидент.

Извори:

  • The Hacker News – New wp2shell WordPress Core Flaw Lets Unauthenticated Attackers Run Code The Hacker News