В Nuclei на ProjectDiscovery, широко използван скенер за уязвимости с отворен код, е разкрит сериозен недостатък в сигурността, който, ако бъде използван успешно, може да позволи на атакуващите да заобиколят проверките на сигнатурите и потенциално да изпълнят зловреден код.
Проследена като CVE-2024-43405, тя има CVSS оценка 7,4 от максимална 10,0. Тя засяга всички версии на Nuclei, по-нови от 3.0.0.
„Уязвимостта се дължи на несъответствие между начина, по който процесът на проверка на подписи и YAML парсерът обработват символите за нов ред, в комбинация с начина, по който се обработват множество сигнатури“, се казва в описанието на уязвимостта.
„Това позволява на атакуващия да инжектира злонамерено съдържание в шаблона, като същевременно поддържа валидна сигнатура за доброкачествената част на шаблона.“
Nuclei е скенер за уязвимости, предназначен да изследва съвременни приложения, инфраструктура, облачни платформи и мрежи, за да идентифицира пропуски в сигурността. Механизмът за сканиране използва шаблони, които не са нищо друго освен YAML файлове, за изпращане на специфични заявки, за да се определи наличието на недостатък.
Освен това той може да даде възможност за изпълнение на външен код в хост операционната система, като използва протокола за код, като по този начин дава на изследователите по-голяма гъвкавост по отношение на работните процеси за тестване на сигурността.
Фирмата за облачна сигурност Wiz, която откри CVE-2024-43405, заяви, че уязвимостта се корени в процеса на проверка на сигнатурата на шаблона, който се използва за гарантиране на целостта на шаблоните, предоставени в официалното хранилище за шаблони.
Успешното използване на уязвимостта представлява заобикаляне на тази важна стъпка за проверка, което позволява на нападателите да създадат злонамерени шаблони, които могат да изпълняват произволен код и да получават достъп до чувствителни данни от хоста.
„Тъй като тази проверка в момента е единственият наличен метод за валидиране на шаблоните на Nuclei, тя представлява потенциална единствена точка на провал“, заяви изследователят на Wiz Гай Голдънбърг в петъчен анализ.
В същността си проблемът произтича от използването на регулярни изрази (известни още като regex) за проверка на подписите и конфликта при парсирането, възникващ в резултат на използването едновременно на regex и YAML парсер, като по този начин се отваря вратата за сценарий, при който атакуващият може да въведе символа „\r“ така, че той да заобиколи проверката на сигнатурите, базирана на regex, и да бъде интерпретиран като прекъсване на реда от YAML парсера.
Казано по друг начин, тези несъответствия при парсирането могат да бъдат верижно свързани, за да се създаде шаблон на Nuclei, който използва „\r“, за да включи втори ред „# digest:“, който заобикаля процеса на проверка на подписа, но се парсира и изпълнява от YAML интерпретатора.
„Базираната на regex проверка на Go третира \\r като част от един и същи ред, докато YAML парсерът го интерпретира като прекъсване на ред. Това несъответствие позволява на атакуващите да инжектират съдържание, което заобикаля проверката, но се изпълнява от YAML анализатора“, обясни Голдънбърг.
„Логиката за проверка потвърждава само първия # digest: ред. Допълнителните # digest: редове се игнорират по време на проверката, но остават в съдържанието, за да бъдат анализирани и изпълнени от YAML.“
Освен това процесът на верификация включва стъпка за изключване на реда със сигнатурата от съдържанието на шаблона, но го прави по начин, по който се валидира само първият ред, като по този начин следващите редове остават невитифицирани, но изпълними.
След разкриването на отговорността, тя е разгледана от ProjectDiscovery на 4 септември 2024 г. с версия 3.3.2. Настоящата версия на Nuclei е 3.3.7.
„Атакуващите биха могли да създадат злонамерени шаблони, съдържащи манипулирани # digest редове или внимателно поставени \r прекъсвания на редовете, за да заобиколят проверката на сигнатурата на Nuclei“, каза Голдънбърг.
„Векторът на атака за тази уязвимост възниква, когато организациите използват ненадеждни или предоставени от общността шаблони без подходяща валидация или изолация. Нападателят може да се възползва от тази функционалност, за да инжектира злонамерени шаблони, което води до изпълнение на произволни команди, ексфилтрация на данни или компрометиране на системата.“
АБОНИРАЙТЕ СЕ ЗА НАШИЯ Е-БЮЛЕТИН И ПОЛУЧАВАЙТЕ НОВИНИ И СЪВЕТИ НА ТЕМА КИБЕРСИГУРНОСТ.
© 2022 Фондация “Киберсигурност за Всеки” с ЕИК 206932045. Всички права запазени. Политики за поверителност.
ж.к. Гео Милев бл. 117, вх.А
София 1113, България
support[@]e-security.bg
Фондация “Киберсигурност за Всеки” с ЕИК 206932045 е ЮЛНЦ в обществена полза, регистрирано в ЕС, работещо в съответствие с мисията и целите си.
Моля, имайте предвид, че всички споменати продукти и/или имена на компании са търговски марки ™ или ® на съответните им притежатели. Уебсайтът/фондацията няма никаква свързаност и/или одобрение за/от тях – тези търговски марки се използват само за образователни цели като примери. Настоящият уебсайт е онлайн информационна платформа, управлявана от доброволна фондация в обществена полза. Благодарим ви, че сте тук и за всякакви допълнителни въпроси, не се колебайте да се свържете с нас.
Мисията на Фондация “Киберсигурност за Всеки” е да допринесе за подобряване на киберсигурността, информационна сигурност и защита на системите и да повиши културата на обществото и организациите по тези и свързани с тях теми. Ние насърчаване безопасността и поверителността на потребителите, като повишаваме осведомеността, информираме за най-добрите и нови практики и помагаме на хора и организации да преодолеят съвременните предизвикателства за сигурността на мрежата и опазването на техните дигиталните активи.
На посоченият от Вас e-mail е изпратено съобщение за потвърждаване на абонамента.
Моля, проверете електронната си поща за да потвърдите.