Сигурност

Редакция Overclock.bg ·

Незакърпена дупка в Magento слага бекдори в магазини

Незакърпена дупка в Magento слага бекдори в магазини

Нидерландската фирма за сигурност на онлайн магазини Sansec публикува на 5 септември спешен advisory за неизвестна досега уязвимост в Magento Open Source и Adobe Commerce. Дупката, наречена StyleSmuggler, позволява изпълнение на код без каквато и да е автентикация и вече се използва в реални атаки — първата потвърдена експлоатация е засечена в 22:20 UTC на 4 септември. Към момента на писане Adobe няма нито CVE номер, нито кръпка.

Няма версия, която да ви спаси

Най-неприятната част от доклада не е техническата. Sansec възпроизвежда пълната неавтентикирана верига върху чисти инсталации на 2.4.7, 2.4.8 и 2.4.9 — тоест всички текущи версии са засегнати. Първата жертва пък е работела на 2.4.6-p15 с приложени юлската и августовската корекция на Adobe, което е най-високото ниво на кръпки за линията 2.4.6.

„Статусът на кръпките беше без значение тук, а точно това търговците трябва да чуят“, пише Sansec. Двата потвърдени пробива, които компанията описва, са на магазини с Magento Open Source 2.4.8 и 2.4.7-p2. Единият е клиент на защитната услуга Sansec Shield и пак е компрометиран — просто защото правилото за блокиране още не е съществувало.

Как работи атаката

Веригата е двустепенна и минава изцяло през легитимна функционалност на Magento, което я прави особено гадна за засичане. На първата стъпка нападателят изпраща GraphQL заявка, в която манипулира свойства styles, за да инжектира PHP код във файл, който Magento сам генерира при нормална работа — доклад за грешка.

На втората стъпка кодът се изпълнява при рендирането на шаблона за писмото „Payment Transaction Failed Reminder“. Никой не трябва да отваря нищо — самият платформен cron ви стреля в крака. Sansec описва издайническия симптом при един от пробитите магазини: писма за неуспешно плащане с неразрешени променливи от шаблона, „изгорели газове от експлойта, минаващ през филтъра на Magento“.

В логовете се търсят два подписа:

POST /graphql?styles[....]=
POST /paypal/transparent/response/?<?=eval(base64_decode('...

Бекдорът се преструва на kernel thread

Полезният товар е stripped, статично линкнат бинарник на Rust, около 1,9 MB, компилиран и за x86-64, и за arm64. Инсталира се в ~/.local/share/.gvfsd/gvfsd-user и се показва в списъка с процеси като [kworker/u:8:0] — почти същото име като истинска нишка на ядрото. Постоянството е cron запис, който го рестартира на всеки 5 минути.

Управлението минава през WebSocket по TLS към 99.84.67[.]186:443, а част от каналите са маскирани като NTP трафик (ntp.timesysnc[.]net:123, time.microsft[.]run:123). Изтеглянето става от 247.cdnflare[.]xyz, а атаките идват от 88.216.72[.]181 и 5.181.86[.]133.

Бърза проверка на сървъра:

crontab -l | grep -i gvfsd
ps -eo pid,comm,args | grep -i kworker
grep -rl 'X_TRACE_' var/report/

Adobe мълчи

Според The Hacker News към 6 септември Adobe не е публикувала нито advisory, нито CVE, нито заобиколно решение — индексът с бюлетини за Adobe Commerce все още свършва с този от 11 август. Следващото планирано издание за сигурност е на 8 септември, но не е потвърдено дали ще адресира точно този проблем.

Дотогава остават временните мерки: изключване на GraphQL, добавяне на proc_open в disable_functions и монтиране на /tmp, /var/tmp и /dev/shm с noexec. Появиха се и неофициални кръпки от Disrex, ProxiBlue и Graycore — интересното е, че две от тях са стигнали независимо до едно и също място в кода.

Внимание

Ако сте пипали нещо по сървъра след 4 септември, приемете, че магазинът може да е пробит, и проверете за импланта, преди да се успокоите с „ние сме на последната версия“. Тук версията не помага.

Магазините са мишена и от другата страна

StyleSmuggler идва в седмица, в която e-commerce платформите въобще не са добре. Netskope съобщи за над 5400 хакнати сайта, предимно WordPress и PrestaShop, които сервират ClickFix примамки: фалшива CAPTCHA кара посетителя сам да отвори Windows Run и да поднесе PowerShell команда.

Около 300 заразени сайта са активни всеки ден, с пик от 536 контакта дневно през август. Кодът се пази в smart contract-и в тестовата мрежа на BNB Smart Chain — техника, известна като EtherHiding, при която нападателите сменят товара по всяко време и почти нищо не може да бъде свалено от хостинг. По-новият вариант въобще не пипа диска: WebRTC канал доставя JavaScript, който се изпълнява в паметта на браузъра.

Заключение

StyleSmuggler е учебникарски пример защо „сме напълно закърпени“ не е стратегия — атаката тръгва преди производителят изобщо да е разбрал за нея, точно като при активно експлоатирания zero-day в V8 на Chrome или при 12-годишната дупка в репликацията на PostgreSQL. Ако държите магазин на Magento, следващите 48 часа са за изключен GraphQL, преглед на cron и наблюдение на изходящия трафик — а бюлетинът на Adobe от 8 септември ще покаже дали чакането е свършило.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още