Изследовател от CyberArk Labs е открил критична уязвимост в популярния фреймуърк Apache bRPC, която позволява изпълнението на произволни команди на отдалечени сървъри. Уязвимостта е получила идентификатор CVE-2025-60021 и максимална оценка от 9,8 по скалата на CVSS.
Apache bRPC е високопроизводителна библиотека с отворен код на C++, която помага на разработчиците да създават бекенд услуги, които комуникират чрез RPC (remote procedure call).
Тази софтуерна рамка се използва широко за изграждане на архитектури от микроуслуги, в които много малки услуги постоянно комуникират помежду си. За отстраняване на грешки и диагностициране на проблеми в продукцията на Apache, bRPC включва вградени HTTP адреси като /pprof/*, които връщат различна диагностична информация, като профили на процесора, снимки на паметта и други статистически данни за изпълнението.
Уязвимостта е открита в адреса /pprof/heap profiler с помощта на Vulnhalla – инструмент, базиран на изкуствен интелект, разработен от CyberArk Labs за анализ на резултатите от статичния анализатор CodeQL. Проблемът засяга всички версии на Apache bRPC до 1.15.0. Същността на уязвимостта се състои в това, че услугата за профилиране на купове не проверява потребителския параметър extra_options, преди да го включи в командния ред на помощната програма jeprof.
Преди поправката този параметър просто се добавя към командата във формат –. Тъй като след това тази команда се изпълнява за генериране на резултати от профилирането, специалните шел символи в контролирания от атакуващия вход могат да променят изпълнимата команда, което води до инжектиране на команда.
Ако адресът /pprof/heap е достъпен, атакуващият може да изпълни произволни команди с привилегиите на процеса Apache bRPC. Един прост пример за експлоатация изглежда така:

Като се има предвид, че услугите bRPC често се изпълняват в привилегировани среди на бекенда, успешното използване може да доведе до пълно компрометиране на услугата.
Въпреки че адресите за профилиране обикновено са предназначени за вътрешна употреба, те могат да бъдат разкрити публично поради неправилна конфигурация. Към момента на писане на статията търсачката Shodan показва 181 публично достъпни адреса /pprof/heap и общо 790 адреса /pprof/*. Въпреки че това не означава, че всички тези системи използват уязвима версия на Apache bRPC, цифрите показват мащаба на потенциалния проблем. Но дори когато достъпът е ограничен до вътрешната мрежа, уязвимостта може да бъде използвана от злонамерени вътрешни лица, компрометирани услуги или нападатели, които са получили първоначална точка за влизане в инфраструктурата.
Apache отстрани проблема в bRPC 1.15.0, като ограничи параметъра extra_options до малък бял списък на поддържаните опции на jeprof, което предотвратява достигането на недоверен вход до изпълнимата команда. На потребителите се препоръчва да преминат към Apache bRPC 1.15.0 или да приложат кръпката от pull request #3101, ако не е възможно незабавно преминаване към по-нова версия.
Като допълнителни мерки за защита експертите съветват всички адреси /pprof/* да се третират като предназначени само за администратори – ограничете достъпа на мрежово ниво, свържете се с localhost или изисквайте удостоверяване чрез обратен прокси сървър.
Интересно е, че уязвимостта е открита с помощта на Vulnhalla – инструмент, който изпълнява CodeQL в голям мащаб и прилага слой за сортиране въз основа на голям езиков модел, за да приоритизира откритията, които е по-вероятно да бъдат използвани. В този случай Vulnhalla маркира проблема като уязвимост, което инициира ръчна проверка за потвърждаване на откритието.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!