БигСиг, рањивост у Мозилла НСС која би могла да дозволи извршавање кода

Вест о идентификовање критичне рањивости (већ наведен под ЦВЕ-2021-43527) en скуп криптографских библиотека НСС (Услуге мрежне безбедности) од Мозиле који би могао да доведе до извршења злонамерног кода када се обрађују дигитални потписи ДСА или РСА-ПСС специфицирани помоћу ДЕР (Дистингуисхед Енцодинг Рулес).

Проблем манифестује се у апликацијама које користе НСС за руковање дигиталним потписима ЦМС, С/МИМЕ, ПКЦС #7 и ПКЦС #12, или приликом провере сертификата у примени ТЛС, Кс.509, ОЦСП и ЦРЛ. Рањивост би се могла појавити у различитим клијентским и серверским апликацијама са подршком за ТЛС, ДТЛС и С/МИМЕ, клијентима е-поште и прегледачима ПДФ-а који користе НСС ЦЕРТ_ВерифиЦертифицате () позив за верификацију дигиталних потписа.

ЛибреОффице, Еволутион и Евинце се помињу као примери рањивих апликација. Потенцијално, проблем може утицати и на пројекте као што су Пидгин, Апацхе ОпенОффице, Сурицата, Цурл, између осталих.

У исто време рањивост се не појављује у Фирефок-у, Тхундербирд-у и Тор претраживачу, који користе засебну мозилла :: пкик библиотеку за верификацију, која је такође део НСС. Тхе Прегледачи засновани на Цхроме-у (осим ако нису посебно састављени са НСС), који је користио НСС до 2015. године, али је потом пренет на БорингССЛ, они нису погођени проблемом.

Рањивост је последица грешке у коду за верификацију сертификата у вфи_ЦреатеЦонтект функцију датотеке сецвфи.ц. Грешка се манифестује и када клијент прочита сертификат са сервера као када сервер обрађује сертификате клијента.

Приликом верификације дигиталног потписа кодираног ДЕР-ом, НСС декодира потпис у бафер фиксне величине и прослеђује овај бафер модулу ПКЦС # 11. Током накнадне обраде, за ДСА и РСА-ПСС потписе, величина је нетачно верификована, што резултира у којој доводи до преливања додељеног бафера за структуру ВФИЦонтектСтр, ако величина дигиталног потписа прелази 16384 бита (за бафер је додељено 2048 бајтова, али није верификовано да потпис може бити већи).

Код који садржи рањивост датира из 2003. године, али то није била претња све до рефакторисања 2012. У 2017. је направљена иста грешка приликом имплементације РСА-ПСС подршке. Да би се извршио напад, није потребно генерисање одређених кључева са великим ресурсима да би се добили потребни подаци, пошто се преливање дешава у фази пре провере валидности дигиталног потписа. Део података ван граница се уписује у меморијску област која садржи показиваче функција, што олакшава креирање радних експлоата.

Рањивост су идентификовали истраживачи Гоогле Пројецт Зеро током експеримената са новим методама фузинг тестирања и добра је демонстрација како тривијалне рањивости могу дуго остати неоткривене у нашироко тестираном познатом пројекту.

Што се тиче главни проблеми због којих је проблем остао непримећен дуже време:

  • НСС библиотека драјвова и фузинг тестови нису спроведени у целини, већ на нивоу појединачних компоненти.
  • На пример, код за декодирање ДЕР и обрада сертификата је верификован одвојено; У току фузинга, сертификат је могао да се добије, што би довело до испољавања предметне рањивости, али његова верификација није стигла до верификационог кода и проблем није откривен.
  • Током фузинг тестова, постављена су строга ограничења на величину излаза (10,000 бајтова) у одсуству таквих ограничења у НСС-у (многе структуре у нормалном режиму могу бити веће од 10,000 бајтова, стога, да би се идентификовали проблеми, потребно је више улазних података ). За потпуну верификацију, ограничење је требало да буде 2 24 -1 бајта (16 МБ), што одговара максималној величини сертификата дозвољеној у ТЛС-у.
  • Заблуда о покривености кода фуззинг тестовима. Рањиви код је активно тестиран, али коришћењем фузера, који нису могли да генеришу потребне улазне податке. На пример, фуззер тлс_сервер_таргет је користио унапред дефинисани скуп готових сертификата, који је верификацију кода за верификацију сертификата ограничио само на ТЛС поруке и промене стања протокола.

Коначно, Вреди напоменути да је проблем са кодним именом БигСиг поправљен у НСС 3.73 и НСС ЕСР 3.68.1 а ажурирања решења у облику пакета су већ пуштена у различитим дистрибуцијама: Дебиан, РХЕЛ, Убунту, СУСЕ, Арцх Линук, Гентоо, ФрееБСД, итд.

Ако желите да сазнате више о томе, можете се обратити следећи линк.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. Odgovorni za podatke: AB Internet Networks 2008 SL
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.