Monsta FTP и CVE-2025-34299: Пълен анализ на уязвимостта RCE

Последна актуализация: 8 декември 2025
Автор: TecnoDigital
  • CVE-2025-34299 позволява дистанционно изпълнение на код без удостоверяване на Monsta FTP чрез изтегляне и произволно записване на файлове от злонамерен (S)FTP сървър.
  • Уязвимостта засяга всички версии преди 2.11.3 и е свързана с исторически грешки, свързани с недостатъчна проверка на пътя и качване на файлове.
  • Ефективното решение идва с Monsta FTP 2.11.3, но е важно да се допълни корекцията със сегментиране на мрежата, ограничаване на достъпа до API и наблюдение на изходящите връзки.

Уязвимост за отдалечено FTP на Monsta

Уязвимостта CVE-2025-34299 в Monsta FTP се превърна в една от най-сериозните слабости напоследък за уеб-базирани приложения за управление на файлове. Тази слабост , позволяваща неавторизирано дистанционно изпълнение на код, позволява на атакуващия да поеме пълен контрол над сървъра, на който е инсталиран Monsta FTP, просто като принуди връзка със злонамерен (S)FTP сървър и използва недостатъчна проверка на пътя и файла.

Този проблем не е изолиран случай: той е свързан с предишна история на уязвимости в Monsta FTP (SSRF, произволни качвания, частични валидации) и донякъде объркваща система за управление на корекции, където са въведени механизми за валидиране, които дават фалшиво чувство за сигурност, но не отстраняват първопричината за недостатъка. Всичко това доведе до критична CVE с CVSS оценка 9.3 , която вече се експлоатира в реални среди и засяга хиляди инстанции в интернет.

Какво е Monsta FTP и защо тази уязвимост е важна?

Monsta FTP е уеб-базиран FTP и SFTP клиент , разработен на PHP и JavaScript, който се инсталира директно на уеб сървър за управление на файлове през уеб браузър, вместо да се използва традиционен настолен клиент. Този подход го прави особено удобен за администратори и разработчици, които искат да качват, изтеглят и променят файлове от всяко място без допълнителен софтуер.

Проблемът е, че тези видове инструменти, бидейки изложени на интернет, се превръщат в много привлекателна цел за атакуващите . Monsta FTP има значителна инсталирана база, с присъствие във финансови институции, фирми и напреднали потребители , които го използват за централизирано управление на своите уебсайтове и сървъри.

Освен това, пътят за инсталиране по подразбиране обикновено е /mftp/ , което на практика „скрива“ много инсталации от по-общи сканирания, но изобщо не пречи на атакуващ, който открие технологията, да се опита да използва известни уязвимости.

В този контекст, уязвимост, която позволява на отдалечен и анонимен нападател да качва произволни файлове и да ги изпълнява на сървъра, както е в случая с CVE-2025-34299 , е особено сериозна: приложението се превръща от обикновен инструмент за управление на файлове в директен вектор за тотално компрометиране на системата.

Техническо описание на CVE-2025-34299: произход и естество на повредата

Уязвимостта CVE-2025-34299 е документирана подробно от изследователи от watchTown Labs, които я описват като грешка при произволно качване на файлове с дистанционно изпълнение на код в Monsta FTP. Пропускът засяга всички версии преди 2.11.3 и позволява на неавторизиран отдалечен атакуващ да накара Monsta FTP да изтегли файл, който той контролира, от (S)FTP сървър и да го запише на произволен път на уеб сървъра, където след това може да бъде изпълнен.

В първоначалните версии (до 2.11) проблемът беше свързан с несигурната обработка на параметри и липсата на надеждна проверка на пътища и файлове . Подобни уязвимости вече бяха докладвани, като например CVE-2022-27468 (произволно качване на файлове) и CVE-2022-31827 (SSRF), които подчертаваха, че част от процеса на изтегляне и копиране на файлове не е адекватно защитена.

Изследователите установиха, че въпреки че по-късно е въведен модул за валидиране ( inputValidator.php ) с множество функции за откриване на преминаване през директории, абсолютни пътища, нулеви байтове и подозрителни модели , тези защити не са били правилно приложени към потока, което всъщност е позволило несигурно записване на файлове. С други думи, повърхността за атака е останала отворена дори с всички тези филтри.

Практическият резултат е, че в Monsta FTP до версия 2.11.2, атакуващ може да принуди изтеглянето на файл от контролиран SFTP сървър и да нареди запазването му в директория, достъпна от интернет, като по този начин постигне изпълнение на код с разрешенията на процеса на уеб сървъра , обикновено www-data или друг подобен потребител.

Как да се използва уязвимостта в Monsta FTP API

Същността на уязвимостта се крие в крайната точка /mftp/application/api/api.php , която действа като централна точка за действията на приложението. Тази крайна точка получава параметър, наречен `request`, в тялото на HTTP заявката, който съдържа структуриран JSON с всички данни, необходими за установяване на (S)FTP връзка и извършване на действия с файлове.

  Как да разберете дали приложение за Android осъществява достъп до вашите данни и как да го контролирате

В този JSON файл са посочени аспекти като типа на връзката ( connectionType = "sftp"), конфигурацията на отдалечения сървър ( configuration : host, port, username, password, home directory) и името на действието за изпълнение ( actionName ), като например downloadFile , uploadFile или fetchRemoteFile . Допълнителни параметри, включително локалните и отдалечените пътища, са включени в секцията context .

Приложението включва функция за изпращане, която чрез оператор switch решава какво да се направи въз основа на actionName. Тук влиза в действие логиката за валидиране на модула InputValidator , проверявайки параметри като remotePath или localPath за определени действия, опитвайки се да предотврати преминаване през директории или опасни пътища.

Изследователите обаче наблюдават, че в конкретния случай на действието downloadFile , действителната имплементация разчита на кодов поток, при който локалният път, към който е копиран отдалеченият файл, остава контролируем от нападателя чрез параметъра localPath . Тази стойност в крайна сметка се използва директно в извикването на copy() без никакво ефективно ограничение за това в кои директории може да се записва.

На практика това означава, че атакуващият може да конструира HTTP POST заявка към /mftp/application/api/api.php, инструктирайки Monsta FTP да се свърже със злонамерен SFTP сървър, да изтегли файл (например shell.php ) и да го съхрани на произволно място на уеб сървъра, като например /var/www/html/mftp/index3.php . След това, една проста GET заявка към новосъздадения файл е всичко, от което се нуждае, за да се изпълни злонамерен PHP код с привилегии от страна на сървъра.

Сравнение с предишни уязвимости и неуспешни корекции

Уязвимостта CVE-2025-34299 не се е появила от нищото: Monsta FTP вече е имала история на уязвимости, свързани с несигурната обработка на потребителския вход и файловите пътища. Версии като 2.10.3 и 2.10.4 вече са били засегнати от CVE-2022-31827 и CVE-2022-27468, които са включвали както SSRF , така и произволно качване на файлове.

Подробното разследване на WatchTower показа, че почти няма съществени промени в кода между версии 2.10.3 и 2.10.4, въпреки наличието на документирани CVE. С други думи, по-късните версии останаха по същество уязвими към същите проблеми , а корекциите не адресираха структурно логиката, която позволяваше опасно записване на файлове.

С пускането на версия 2.11 , Monsta FTP въведе модула inputValidator.php , който добави много подробни функции за валидиране: откриване на низове като "../", твърдо кодирани варианти (%2f, %5c и др.), абсолютни пътища, максимална дължина на пътя и други подозрителни модели. На пръв поглед изглеждаше, че това е цялостно почистване на кода, насочено към засилване на сигурността.

Когато обаче изследователите повторно провериха SSRF доказателството за концепцията и качиха файлове, те откриха, че атаките все още работят дори във версия 2.11. С други думи, около много входни точки е бил приложен слой за валидиране „обвиване“ , но специфичният поток, който е правил възможно произволно писане, не е бил прекъснат.

Този модел илюстрира често срещан проблем в много проекти: внедряване на общи слоеве за валидиране без щателен преглед на критичните кодови пътища , което води до опасни операции като отваряне, запис или копиране на файлове на сървъра. Резултатът е фалшиво чувство за сигурност както за разработчиците, така и за администраторите, докато основната уязвимост остава открита.

Експлоатация без пълномощия и обхват на въздействието

Една от най-тревожните характеристики на CVE-2025-34299 е, че експлойтът е изцяло с предварителна автентификация , което означава, че не се изискват валидни идентификационни данни или предишна сесия в FTP панела на Monsta. На атакуващия е необходимо само FTP инстанцията на Monsta да е достъпна от интернет и API-то /mftp/application/api/api.php да приеме злонамерената заявка.

Чрез получаване на възможността да изпълнява код с разрешения на уеб сървъра, нападателят може да инсталира задни вратички , да внедрява уеб шелове, да чете или променя файлове на приложения и дори да се пренасочва към други системи във вътрешната мрежа, ако архитектурата не е правилно сегментирана. В корпоративна или финансова среда това може да доведе до кражба на чувствителни данни, измами или сериозни прекъсвания на услугите.

Мащабът на въздействието се усилва от значителното разпространение на Monsta FTP , като според оценките на изследователите в интернет са достъпни няколко хиляди екземпляра. Много от тях дори не се появяват в общи сканирания поради контекста по подразбиране /mftp/ , което затруднява организациите да разберат дали действително имат тази уязвимост и ако е така, коя версия е.

  Основно ръководство за онлайн безопасност за безопасно сърфиране

Друг критичен момент е, че уязвимостта може да бъде използвана от всяка точка на света, стига уеб сървърът да е достъпен и връзка със злонамерения SFTP сървър да е възможна на мрежово ниво. Ако няма правила на защитната стена, ограничаващи изходящите връзки от сървъра към интернет, експлоатацията става изключително тривиална.

В този сценарий, нападателите могат да автоматизират сканирането и експлоатацията на уязвимия Monsta FTP, интегрирайки го в своите кампании за масови атаки , както за рансъмуер, така и за инсталиране на ботнет мрежи или кражба на идентификационни данни.

Засегнати версии, времева линия и наличен пач

Уязвимостта CVE-2025-34299 засяга всички версии на Monsta FTP преди версия 2.11.3 . Това включва клонове, в които вече са били регистрирани други CVE (2.10.3, 2.10.4, 2.11, 2.11.1, 2.11.2) и които продължават да носят проблема във вътрешната логика на изтегляне и копиране на файлове.

Според проучването на watchTown, известната хронология на процеса на откриване и инсталиране на кръпки е, най-общо казано, следната :

  • 13 август 2025watchTowr докладва за уязвимостта (наричана WT-2025-0091) на екипа за разработка на Monsta FTP.
  • 14 август 2025Екипът на Monsta FTP потвърждава получаването на сигнала и се ангажира да разгледа проблема.
  • 15 август 2025watchTowr започва по-широк анализ на повърхността на атаките на своите клиенти в търсене на уязвими екземпляри на Monsta FTP.
  • 26 август 2025Версията е публикувана 2.11.3 от Monsta FTP, които най-накрая ефективно коригира уязвимостта справяне с несигурния поток на писане.
  • 4 де Ноември 2025Идентификаторът е официално присвоен. CVE-2025 34299- към тази уязвимост.
  • 6 де Ноември 2025WatchTower публикува подробното си техническо разследване на повредата.

Започвайки с версия 2.11.3 , кодът въвежда допълнителни контроли, които ограничават пътищата за запис до разрешени директории и засилват валидирането на параметрите, предотвратявайки произволното използване на localPath за запис в системни местоположения, които могат да бъдат обслужвани от уеб сървъра.

Общият консенсус сред анализаторите и доставчиците на решения за сигурност е ясен: всяка организация, която все още използва версии преди 2.11.3, трябва незабавно да актуализира или, ако не може, да деактивира публичния достъп до Monsta FTP, докато планира миграцията.

Как да идентифицираме уязвими екземпляри на Monsta FTP

Намирането на всички екземпляри на Monsta FTP в рамките на една организация не винаги е лесно, особено когато има стари или забравени сървъри , където инструментът е бил инсталиран преди години и никога не е бил проверяван отново. Тук влизат в действие решения за управление на повърхността на атаките и откриване на активи.

Инструменти като runZero са публикували специфични заявки, които помагат за идентифициране на потенциални уязвимости въз основа на функции като например favicon на приложението. Пример за предложена заявка е:

_asset.protocol:http AND protocol:http AND favicon.ico.image.mmh3:="1535999103"

Тази заявка идентифицира HTTP услуги, чиято favicon съвпада с тази на Monsta FTP, предоставяйки първоначален списък със системи, които изискват подробен преглед на версията и конфигурацията . След това е важно ръчно да се валидира инсталираната версия и да се провери дали е приложена корекция 2.11.3 или по-нова.

В допълнение към тези видове търсения, препоръчително е да се извършват вътрешни инвентаризации (например със скриптове или инструменти за сканиране), които търсят пътя /mftp/ на уеб сървърите и преглеждат файловете на приложенията, тъй като някои инсталации може да не следват стандартната конфигурация на портове или домейни.

Мерки за смекчаване и добри практики за защита

Въпреки че основната стъпка за смекчаване на CVE-2025-34299 е актуализирането на Monsta FTP до версия 2.11.3 или по-нова , простото прилагане на корекцията и забравянето за нея е лоша идея. Този инцидент ясно показва, че са необходими допълнителни слоеве на сигурност около приложения от този тип.

Първо, силно се препоръчва да се ограничи достъпът до Monsta FTP API. Крайната точка /mftp/application/api/api.php не трябва да бъде открито достъпна от който и да е IP адрес в интернет. В идеалния случай трафикът трябва да се филтрира през защитни стени или списъци за контрол на достъпа, като се позволяват само определени диапазони (например корпоративната VPN мрежа) или дори използването му да се ограничава до интранет; често срещана опция на Linux сървъри е използването на iptables за това филтриране.

  Как да промените DNS настройките на вашия рутер, за да подобрите скоростта и сигурността

Второ, трябва да се внедри правилна сегментация на мрежата . Уеб сървърите, хостващи приложения като Monsta FTP, не трябва да имат неограничен директен достъп до критични системи (основни бази данни, ERP системи, финансови системи и др.). С добра сегментация и разбиране на TCP/IP модела , дори ако уеб сървърът е компрометиран, нападателят ще има много по-големи трудности при странично придвижване.

Друга важна мярка е наблюдението за аномални изходящи връзки , особено тези, свързани със SFTP, FTP или SSH към необичайни външни дестинации. Използването на тази уязвимост изисква уязвимият сървър да се свърже с (S)FTP сървър, контролиран от нападателя, така че добре конфигурирана система за наблюдение или SIEM би трябвало да може да генерира предупреждения, когато открие този тип подозрителен трафик.

Накрая се препоръчва да се внедри и правилно конфигурира защитна стена за уеб приложения (WAF) и да се приложат политики за втвърдяване на сървъра: намалете разрешенията за запис, гарантирайте, че процесът на уеб сървъра работи с възможно най-ниските привилегии и извършвайте редовни сканирания за уязвимости, за да откриете стари екземпляри или версии, които са изостанали в цикъла на актуализация.

Нулево доверие, непрекъснато наблюдение и контекст на други уязвимости

Случаят с Monsta FTP и CVE-2025-34299 перфектно илюстрират защо подходите за сигурност с нулево доверие са все по-необходими. Идеята, че едно интернет приложение може да се счита за надеждно, само защото е „актуално“, е наивна, когато потоците от експлоатация се фокусират върху много специфични детайли на внедряването.

Приемането на подход с нулево доверие включва непрекъснато валидиране и наблюдение на всяка точка за достъп, всяка връзка и всяка промяна в конфигурацията, вместо да се приема, че веднъж конфигурирана и инсталирана, услугата никога повече няма да създава проблеми. В случая с Monsta FTP това означава не само актуализиране, но и редовен преглед на лог файловете , поведението на мрежата, целостта на файловете и появата на нови подозрителни файлове (обвивки, неизвестни скриптове и др.).

Освен това, този инцидент не е изолиран случай: други широко разпространени продукти, като например уеб браузъри, също редовно страдат от критични уязвимости. Скорошен пример извън света на Monsta FTP е уязвимостта CVE-2024-11395 в Google Chrome, грешка в енджина V8 , която може да позволи изпълнение на произволен код чрез специално създадени HTML страници.

В случая с Chrome, Google пусна стабилна актуализация (версии 131.0.6778.85/.86 за Windows и Mac и 131.0.6778.85 за Linux), за да отстрани три уязвимости, включително тази с висока степен на сериозност. Препоръките бяха ясни: актуализирайте незабавно , активирайте автоматичните актуализации и избягвайте уебсайтове от съмнителни източници. Паралелът с Monsta FTP е очевиден: широко използван продукт, сериозен недостатък, необходимост от незабавна корекция и въпреки това значителен процент от системите се нуждаят от време, за да наваксат.

Всичко това подсилва идеята, че сигурността не е еднократно събитие, а непрекъснат процес на управление на експозицията , какъвто е случаят с платформите, фокусирани върху проактивното управление на външни заплахи и повърхности за атака. Интегрирането на тези видове инструменти и практики в ежедневните операции позволява да се постигне нещо толкова ценно, колкото времето за реакция на нови уязвимости.

Уязвимостта CVE-2025-34299 в Monsta FTP, връзката ѝ с предишни недостатъци, дългият път до наистина ефективен пач и необходимостта от допълване на актуализациите с мрежови контроли, WAF, сегментация и подход с нулево доверие, рисуват картина, в която организациите, които възприемат проактивна защитна позиция, ще имат много повече опции, за да предотвратят превръщането на обикновен FTP уеб клиент във вход към сериозен инцидент.

Какво е FTP
Свързана статия:
Какво е FTP?: Пълно ръководство