Рањивост у КСФС која омогућава читање необрађених података блок уређаја

У коду КСФС система датотека идентификована је рањивост (ЦВЕ-2021-4155) која омогућава локалном непривилегованом кориснику да чита неискоришћене блок податке директно са блок уређаја. Све главне верзије Линук кернела старије од 5.16 које садрже КСФС драјвер су погођене овим проблемом. Исправка је укључена у верзију 5.16, као и у ажурирања кернела 5.15.14, 5.10.91, 5.4.171, 4.19.225, итд. Статус ажурирања која се генеришу да би се решио проблем у дистрибуцијама може се пратити на овим страницама: Дебиан, РХЕЛ, СУСЕ, Федора, Убунту, Арцх.

Рањивост је узрокована нетачним понашањем два специфична за КСФС иоцтл(КСФС_ИОЦ_АЛЛОЦСП) и иоцтл(КСФС_ИОЦ_ФРЕЕСП), који су функционални аналог системског позива фаллоцате() за цело језгро. Када повећавате величину датотеке која није блоковски поравната, иоцтлс КСФС_ИОЦ_АЛЛОЦСП/КСФС_ИОЦ_ФРЕЕСП не ресетује репне бајтове на нулу до следеће границе блока. Дакле, на КСФС-у са стандардном величином блока од 4096 бајтова, нападач може да прочита до 4095 бајтова претходних записаних података из сваког блока. Ове области могу да садрже податке из избрисаних датотека, дефрагментираних датотека и датотека са дедуплицираним блоковима.

Можете тестирати свој систем на проблем помоћу једноставног прототипа експлоатације. Ако је након извршења предложеног низа команди могуће прочитати Шекспиров текст, онда је ФС драјвер рањив. Првобитно монтирање КСФС партиције ради демонстрације захтева роот привилегије.

Пошто су иоцтл(КСФС_ИОЦ_АЛЛОЦСП) и иоцтл(КСФС_ИОЦ_ФРЕЕСП) практично исте функционалности као стандардни фаллоцате(), а њихова једина разлика је цурење података, њихово присуство је слично бацкдоор-у. Упркос општој политици не мењања постојећих интерфејса у кернелу, на Линусов предлог, одлучено је да се ови иоцтл-ови потпуно уклоне у следећој верзији.

Извор: опеннет.ру

Додај коментар