В Netfilter, подсистеме ядра Linux, используемой для фильтрации и модификации сетевых пакетов, выявлена уязвимость (CVE не назначен), позволяющая локальному пользователю выполнить код на уровне ядра и поднять свои привилегии в системе. Исследователями продемонстрирован эксплоит, позволивший локальному пользователю получить права root в Ubuntu 22.04 с ядром 5.15.0-39-generic. Изначально информацию об уязвимости планировалось опубликовать 15 августа, но из-за копирования письма c прототипом эксплоита в публичный список рассылки, эмбарго на раскрытие информации было отменено...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57445
Локальная это фиг с ней. Главное чтобы не глобальная.
> начиная с выпуска ядра 5.8Обновляйтесь, говорили они, это повысит безопасность...
MSDOS используй, там тебя уязвимость nftables уж точно не зацепит.
Не поверишь, именно DOS много где в промышленности используется. Именно из-за надёжности и быстродействия.
Еще скажи безопасности, учитывая что он в систему прав и деление на юзеров вообще не умеет. А в промышлености оно используется только на окаменелых фекалиях мамонта сейчас. Проектированых и произведенных архидофига лет назад.
> Проектированых и произведенных архидофига лет назад.Да, раньше умели делать чтоб работало десятилетиями, не то что сейчас, - пару лет и плати заново, потому как "next-next-next" генерация считает что круто иметь свеже пахнущие гавно далеко не мамонтов и обляпаться им по самые уши, и переделывать и переделывать...
У меня нет никаких данных о том что менее ископаемые варианты мрут сильно быстрее, хотя конечно статистика по этому аспекту накапливается с отставанием. Почему-то.
Процесс искусственного старения запустить если?
> Процесс искусственного старения запустить если?Искусственного старения чего? Механика хуже с тех пор точно не стала, а электроника для встройки - там производители зачастую ГАРАНТИРУЮТ некоторые вещи. И если они обещают "не менее 20 лет хранения данных в флеще при 105 градусах", значит они именно это и сделали - и чипы не развалились и данные удержали.
Конечно тут еще от того кто систему в целом реализовал зависит, ломается по самому слабому месту конечно же. Но я пока не видел никаких особых плевков, кроме местных экспертов по MSDOS. Которые, имхо, плюются только потому что DOS освоили когда-то а ща это знание даром никому не надо уже, у них и подгорает.
> У меня нет никаких данных о том что менее ископаемые варианты мрут
> сильно быстрее, хотя конечно статистика по этому аспекту накапливается с отставанием.Про гавно мамонтов, я слышу со времен DOS-a, когда появился GWbasic и все поголовно орали, - "как стало удобно и быстро толкать решения в жизнь, не то что на С мамонтовом гавне", потом были Турбо-Басики, визуал-басики, Паскаль, Модула, Дельфи и т.д. и т.п. и все повторялось по кругу, студентов учили на одном языке и они потом с пеной у рта всем доказывали как это новое и переспективное свеже пахнущие гавно лучше старого гавна мамонтов. Теперь сильные мира нашего решили что хорош баловаться и начали загонять в цифровое стойло баранов, приманивая их как обычно на свеженькое говнецо, в итоге имеем централизованный единственный браузер с универсальнейшим ЖабоСкриптом, а все остальное у дяди в облаке, работающее на древнем гавне Жабы в подавляющем большинстве и немного нативного кода либо на Го или на классическом мамонтовом гавне С.
Но логику то не побьешь, я до сип вижу в некоторых индустриях 486 машины где размер выполняемых файлов редко больше нескольких килобайт максимум, работают мнгновенно и укладываются в 1 мегабайт памяти. Серьезные решения, управляющие машинами изготавливающие не виртуальное говнецо, а то что можно пользовать в реальной жизни
> Почему-то.
К сожалению или к радости, но это недостаток проходит со временем
А мне похрен. Вот честно. Я всякими (около)эмбедовочными проектами развлекаюсь и там современные микроконтроллеры, и линух на ARM одноплатниках. В гробу я твой дос видал, вместе с 486. Для вообще совсем жесткого реалтайма у меня МК есть, я там менее микросекунды могу потрогать с гарантиями, чего тебе на x86 уродце вообще не особо светит, и периферия для интерфейса с внешним миром - нормальная. Но ты можешь поучить меня делать все это правильно, мистер некромансер.
>Но ты можешь поучить меня делать все это правильно, мистер некромансер.К сожалению - безполезно, ты откуда вообще выкопал, что я за 486 ??? Ты если правда хочешь учиться, научись читай внимательно: разговор был о том, что молодежь склонна ломать все, что не подпадает под интернет поиск - "А чё ваще щас пупулярно?" и даже не задумываясь клеймить все подряд гавном мамонтов, все что не укладывается в скудный умишко, гордящийся той крупице знаний что только что выучил, а все отсальное в силу непонимания, - в гавно мамонтов.
Тыкать для фана микроконтроллеры - это одно, а заменить "устаревшую" систему в сложном индустриальном процессе - это совсем другое, там на хер не укакались микросекунды которыми ты хвалишся(а если и надо то критические по времени процессы сделаны на жесткой логике которая отрабатывает в наносекунды), если у тебя есть формула-1 это не значит что ты сможешь на ней тянуть 54-х футовую фуру, там надежность нужна и чтобы переделать все потребуется масса человеко часов, оплачиваемых(!!!) - в угоду чему ?!!! Вот об этом был мой пост, а не из пальца высосанный тезис о 486 старье vs microcontroller
Ошибка выжившего. Раньше (как и сейчас) делали по-разному. Большая часть из сделанного вскоре ломалось и заменялось более новым. Считанные единицы дожили до наших дней и именно потому что они были сделаны качественно. Но это не означает, что раньше всё делали лучше. Просто всё плохо сделанное уже сломалось.
> Раньше (как и сейчас) делали по-разному. Большая часть из сделанного
> вскоре ломалось и заменялось более новым.Абсолютно согласен, только я не за прошлое качество, а говорю за все увеличивающуюся тенденцию к постояному переделыванию сущностей без добавления качества. Если раньше надо было знать систему, чтоб програмировать, то сейчас достаточно гугла и умения копи-пастить и при этом преподносить это в обертке как не пропавшее гавно то сравнению с мамонтовским
> Ошибка выжившего.
Ошибка читающего ;)
>>Именно из-за надёжностиFAT16..?
Только там, где ещё 8086 и его производные остались. А так, RTOSы всякие ничем не хуже.
Всё правильно они говорят.
КО: Если не будете обновляться, то не получите исправлений даже уже исправленных уязвимостей.
> не получите исправлений даже уже исправленных уязвимостейЯ просто ещё не получил тех уязвимостей, которые внесли в последних версиях.
так обновись и получи их уже ))))
>Обновляйтесь, говорили они, это повысит безопасность...в единственном путнем дистрибе, текущее ядро kernel-uek-5.4.17. вдобавок всё на bare metal крутится, вся эта шелупонь нэймспэйсная пролетает как фанера
> Локальная это фиг с нейрасскажешь, когда твоя любимая тележка рута получит
Если его любимая тележка пошла получать рут, терять ему уже особо нечего, вероятно :)
А его любимая микроволновка пошла код писать на Rust.
нифига - она просто закрутила рОман с холодильнегом.
> вызвана переполнением буфераНикогда такого не было, как же так
>> вызвана переполнением буфера
> Никогда такого не былоУж лучше паниковать в отсутствующем рантайме, проверяющем выход за границы.
>>> вызвана переполнением буфера
>> Никогда такого не было
elem = kzalloc(set->ops->elemsize + tmpl->len,
gfp); <===== (0)
if (elem == NULL)
return NULL;...
if (nft_set_ext_exists(ext, NFT_SET_EXT_DATA))
memcpy(nft_set_ext_data(ext), data,
set->dlen); <===== (1)
> Уж лучше паниковать в отсутствующем рантайме, проверяющем выход за границы.Уж лучше бы ты сначала сходил по ссылке и лишь потом писал с умным видом чушь.
И как от этой ошибки защитил бы "отсутствующий рантайм, проверяющий границы"?
> И как от этой ошибки защитил бы "отсутствующий рантайм, проверяющий границы"?pub fn copy_from_slice(&mut self, src: &[T])
where
T: Copy,
Copies all elements from src into self, using a memcpy.
The length of src must be the same as self.
If T does not implement Copy, use clone_from_slice.
И как оно по скорости относительно memcpy? А так то memcpy тоже размер проверяет, но если ему на вход дали что-то не то - кто вам доктор?
>> using a memcpy.
> И как оно по скорости относительно memcpy?рукалицо.жпг
> А так то memcpy тоже размер проверяет, но если ему на вход дали что-то не то - кто вам доктор?
ыкспертыопеннета.жпг
Ничего, что у тебя размер _уже_ привязан к слайсу, а не велосипедится каждый раз погроммистом?
>> a slice is a two-word object, the first word is a pointer to the data, and the second word is the length of the slice.
>>
> The length of src must be the same as self.Что будет, если это не так? Будет паниковать "отсутствующий рантайм"? Ошибку (паника это или выход за границы) нашли до или после эксплуатации?
Firefox 86... неверная проверка размера памяти в коде загрузки цветовых профилей ICC, написанном на языке Rust.
Только без паники!
> Firefox 86... неверная проверка размера памяти в коде загрузки цветовых профилей ICC, написанном на языке Rust.Опеннет 104... очередная клоунада местных подгорельцев ...
И... а дальше что? Получили локальный рут? Получили удаленный рут? Взломали пентагон?
Или просто упали из-за выхода за границы?(что-то тут https://www.mozilla.org/en-US/security/advisories/mfsa2021-10/ ничего про ICC нет, может пруфцов дописать стоит?)
Чорт, опять мимо.
$ ./a.out
[-] unshare(CLONE_NEWUSER): Invalid argument$ zcat /proc/config.gz | grep USER_NS
# CONFIG_USER_NS is not set$ uname -srm
Linux 5.10.128 x86_64Отрубайте, нах..., все NAMESPACES, до тех пор, пока
на 146% не будете уверены что оно вам надо, даже с LXC!
Конкретно USER_NS уже баян дикий, начиная с момента его появления. )
Конечно, отрубайте все песочницы, малварь в браузерах особенно обрадуется.
Конкретно USER_NS нужен, скорее, если ты openvz-like нечто хочешь сколхозить. И поскольку линевый кернел никогда не писался с делением на эн виртуальных систем, делать из одной системы эн, как с бы с типа-рутом, который, однако, все же не настоящий рут, при том что изначально в системе такого не было - все же чревато неочевидными багами.Это именно тот самый случай когда тяжело было сову на глобус, но очень хотелось, поэтому как-то все же сделали. Но - все еще икается.
А как насчёт забрать доступ в сеть у процесса занимающегося отрисовкой? И это только один из вариантов.
Отрисовкой кого? Чего? USER_NS довольно базовая фича которая сама по себе вообще ортогональна отрисовке чего либо. Не понимаю ваш полет мысли.Если мы про права, то неймспейсы вообще непривилегированым юзерам лучше не позволять создавать, во избежание собственно повышения прав, там "острые углы" возможны и в других случаях иногда. Это, правда, делает создание контейнеров менее удобным занятием.
Я имею в виду именно CLONE_NEWUSER, а не USER_NS. Отрисовкой чего-нибудь. Страницы с текстом, например. Или шейдеров, без которых плавной прокрутки не будет. Медиа-контента, опять же. Если у непривилегированного процесса нет возможности порезать свои права, то, в лучшем случае, ему придётся при каждом запуске поднимать свои права до рута, без которого возможностей для изоляции не будет. Т.е., в итоге, вместо бесправного бинаря бесправного пользователя у малвари уже есть суидный бинарь.
> Я имею в виду именно CLONE_NEWUSER, а не USER_NS.Я его и имел в виду. Простите, unshare() и clone() сами по себе вообще понятия не имеют, рендерите вы там чего-то или нет потом. Не его это собачье дело.
> Отрисовкой чего-нибудь. Страницы с текстом, например.
Ух, круто, а откуда ядру заранее знать будете вы это делать когда-то потом или нет? Это как максимум можно на уровне процесса обыграть но это требует чтобы кодеры тех программ явно захотели такое - и к тому же оно имеет свои острые углы.
> Или шейдеров, без которых плавной прокрутки не будет.
Шейдеры это вообще программа для GPU выполняемая на стороне GPU. К плавной прокрутке не особо относится само по себе.
> Медиа-контента, опять же.
Опять же выводить его можно по разному и заранее неизвестно будете вы это делать или нет.
> Если у непривилегированного процесса нет возможности порезать свои права,
C namespaces все чуть сложнее чем это. Давать бесправному юзеру плодить вложенные виртуальные операционки, возможно даже с виртуальным рутом внутрях который СВОЮ виртуальную копию имеет право менеджить, а наружу - нет, все же довольно стремно.
Кернел с самого начала не делался под настолько мощные абстракции и в конечном итоге проблема в том что в каких-то краевых случаях может немного "девиртуализоваться" если кто-то где-то логику проверок прав прошляпил. Потенциально насыпав лишние права бесправному юзеру.
С другой стороны, если это дать только elevated юзерам, придется при запуске подкидывать права сначала. И это тоже может быть довольно чревато, т.к. бесправный юзер ухитрившийся вклиниться между подъемом прав и сбросом опять же получит некие дивиденды.
> то, в лучшем случае, ему придётся при каждом запуске поднимать свои права до рута,
> без которого возможностей для изоляции не будет. Т.е., в итоге, вместо
> бесправного бинаря бесправного пользователя у малвари уже есть суидный бинарь.В теории я могу себе представить специфичные CAP_* менее мощные чем CAP_SYS_ADMIN, на вот именно подобные операции, может даже на отдельные namespaces, но это не реализовано.
Если не понятно что это на нижнем уровне: man 2 unshare и man 2 clone. Изначально так то идея довольно мощная и крутая. Но это настолько за пределами изначальных абстракций что вызывает странные проблемы.
Именно он позволяет любому пользовательскому процессу произвольно ограничить свои привилегии, и, если не запрашивать ему "виртуального" рута, то и прав сделать что-либо у такого процесса (и его детей, что немаловажно) уже не будет.
> Именно он позволяет любому пользовательскому процессу произвольно ограничить свои привилегии,
> и, если не запрашивать ему "виртуального" рута, то и прав сделать
> что-либо у такого процесса (и его детей, что немаловажно) уже не будет.В теории. На практике... были и иные странные вещи, например, когда процесс что-то вытворяет в своем пространстве монтирования и это ведет к странным результатам более глобально.
Изначально ядро не кодили с идеей что 1 система будет расщеплена на N независимых-типа. Иногда ус немного отклеивается.
> вызвана переполнением буфераахахаха, ну надо же
любители объяснять что это был "неправильный программист" - ваш выход
Переполнения возможны на любом дискретном вычислительном устройстве!!!
Угу, а падение метеорита возможно на любое космическое тело!Но есть нюанс в вероятности. Где-то переполнение раз в год, а где-то сыпятся как из копро-рога изобилия.
Вероятность появление события пропорциональна количеству испытаний.
Ну хоть что-то новое в теорвере.
Закон Шмидта
Если достаточно долго портить машину, она сломается.
С чего это оно новое?! Баян дичайший.Если вероятность события за одно испытание x где 0 < x < 1 то тогда за N испытаний вероятность что событие все же НЕ произойдет будет (1 - x)^N. И, очевидно, по мере роста N шанс что событие не произойдет стремится к нолю. Нехрен было дрыхнуть на лекции по теорверу.
Привет, цыкровая поня, ыксперд по теорверу и подмене понятий!
> Привет, цыкровая поня, ыксперд по теорверу и подмене понятий!А я человек, будем знакомы. Вообще быть сделаным именно павлинуксом, который обычно каркает невпопад - очень оригинально. Но так, оказывается, бывает.
> Нехрен было дрыхнуть на лекции по теорверу.Вам ещё раз в школу https://ru.wikipedia.org/wiki/%D0%A2%D0%...
> (1 - x)^N. И, очевидно, по мере роста N шанс что событие не произойдет стремится к нолю.Спасибо, сам и ответил: ))))
Вероятность того, событие "не произойдет" --> 0 отседа заключаем, что
Вероятность того, событие ПРОИЗОЙДЁТ --> 1
Ты вот лучше скажи, когда режешь огурец,
ты на каждый кружочек берешь новый нож,
чтоб уменьшить вероятность пореза пальца? :)))
Ничосе, оказывается чем больше кубик кидать, тем больше "вероятность появление события" что выпадет единичка? А я то всегда думал что вероятность этого события - константа (для конкретный кубов).
Думаю тебе нужно не только с программированием завязывать, но и с математикой.
Вот ты и столкнулся с теорвером! Изучай! Постигай! Если осилишь...> чем больше кубик кидать, тем больше "вероятность появление события" что выпадет единичка?
> А я то всегда думал что вероятность этого события - константаЛовим событие "единица НЕ выпала" (обратное):
один бросок - 5/6 = ~83%
два броска - (5/6 * 5/6) = ~69%
три броска - (5/6 * 5/6 * 5/6) = ~58%видишь тенденцию?
Подменил вероятность события на вероятность серии событий.
В исходном топике как раз про серию.
В исходном топике как раз про вероятность события, а не про серию. Еще и подменил выпадение единицы на НЕ выпадение. Так что не надо юлить.Вопрос "Какова вероятность что в случайном сишном поделии будет лажа с памятью", а не "какова вероятность что у нас будет две подряд, или в этом не было, а в следующем будет". Чувствуешь разницу?
А кол-во испытаний только влияет на приближение экспериментальной вероятности к истинной.
> В исходном топике как раз про вероятность события,Судя по контексту он про событие "хоть 1 раз сработает". А ты полез умничать.
> Вопрос "Какова вероятность что в случайном сишном поделии будет лажа с памятью"Давно изучено, ... там чот на 1000 строк кода (без пустых строк), 2 ошибки гарантировано
Фирмвари с статичной аллокацией памяти смотрят на тебя как на ... .
> Фирмвари с статичной аллокацией памяти смотрят на тебя как на ...Google: Выход за границу массива (Array index out of bounds)
> Google: Выход за границу массива (Array index out of bounds)Те кто посообразительнее уже нашли -Warray-bounds. А кого паранойя долбит узнали что ubsan даже на мк можно завести по минимуму. Он прикольно работает, BAD OPCODE при срабатывании кидает.
Выход за границы массива и UB, как бы, не одно и тоже?
> В исходном топике как раз про серию.Жесть, да вы - целая сеть, соединенная либастралом, знаете друг друга так хорошо, что "вероятность появления" - это вероятность серии событий, а "пропорция" - это (1 - (1 - p)^N) или как это там правильно пишется.
> 5/6 * 5/6 * 5/6Можно показать, где здесь "пропорция", про которую речь?
> Можно показать ... ?Можно. Через показательную функцию.
> Ничосе, оказывается чем больше кубик кидать, тем больше "вероятность появление события"Анонимы, вы все тут такие примитивные де6илы?
> Думаю тебе нужно не только с программированием завязывать, но и с математикой.Думаю тебе нужно сходить нах..й и не возвращаться. Заe6ли лошки своими кубиками.
Хаха, это павлуша порвался, несите следующего!
Сам обосpался, сам обиделся))
Чувак, понимаешь, если ты Аноним, то ты автоматом лох, дебил, и прочий человеческий кал?
Это как доносы, их не читают, не вникают и не изучают.
Надо на Фряху перекатываться или Винду у которой хоть антивирусы всякие есть.%
Слишком толсто, пробуй снова.
И где тут жир? Либо луддитом быть и на олдолд сидеть или другие ОС пользоваться.
Тебя iPony12309 и QwertyRed покусали?
Да,нас тут легион. XD
Чемпионат тормозов объявили открытым?
ХЗ я не участвовал.XDD
Из британской библиотеки? 😷
>>Надо на Фряху перекатываться....ну да, надо ж учиться мастырить костыли да разгребать грабли %)))
Антивирусы есть (внезапно) и под Linux, и даже под FreeBSD.
ЭТО да,но ими тут разве только Вино проверять, в самой системе они мало чего из себя представляют. Пятое колесо у телеги, а вот Б.Гейтс без Касперского как известно и с женой спать не ложится.
предлагаю простой эксперимент:1) на github.com поиск "nssm.exe"
2) скачать любой найденный, а лучше несколько разных.
3) антивирус отреагировал ?
4) если нет то запустить скачанное.
5) антивирус отреагировал ?
6) а фаерволл ?
debian как всегда не успел получить эту уязвимость...
надежность!
Угу,тренд на 100500 версионность совсем не уважает. олдскулы не любят страдать на роавном месте.D
debian старьё
В МСВС до сих пор ядро 2 версии. Астру ругали за олдолд, а разрабы то там правы оказываются. Дешево и сердито. Тактика успеха.
> переполнением буфераОй, как же так? Опять ненастоящий программист код в ядро писал? Настоящий програсмист же ведь такого никогда не допустит!
> CLONE_NEWUSER, CLONE_NEWNS или CLONE_NEWNET
Опять чтобы получить рут надо получить рут.
Зря iptables закопали, там такого не было.
Ага, "раньше было лучше" (с)
Но, к сожалению, это не правда - https://www.cvedetails.com/cve/CVE-2019-11360/
Error 1009 Ray ID: 725529bc59169d3f • 2022-07-04 04:36:58 UTC
Access denied
Ничего его не закопали. По умолчанию iptables в ядре включен, а nftables нет,пинайте разрабов вашего дистрибутива...
"По умолчанию iptables в ядре включен, а nftables нет" лет 15 уже точно ядро не собирал сам...
А в OpenWRT и повышать ничего не надо, там всё под рутом крутится.
В моём openwrt dnsmasq под пользователем dnsmasq работает, а остальные процессы под root. Щас набегут ыксперты и будут рассказывать, как надо и что openwrt - фуфло.
Новые ядра дырявее и дырявее, или дыры быстрее находятся, то-ли все силы ушли LGBT+ rust разработки
> Дополнение: доступен патч с исправлением уязвимости.НЕТ! Bad object id
> убедиться в отключении возможности создания пространств имён непривилегированными пользователямиРебят, интересный вопрос: а в линуксе вообще можно что-то делать простому юзеру?! Что ни фича, то sudo! Ну вот эти же nf_tables - что, дюже "админская" фича? Это же элементарный фильтр пакетов! Почему юзер вдруг не может отфильтровать какой-нть левый трафик?
Если так разобраться в знаниях, которые нужны для работы в Линуксе, то это и есть самый что ни на есть АДМИН! В линуксе нет "юзеров", есть "недообразованные админы". :)
Соотв. слишком бестолкова и уязвима система, где стоит стать админом и всё - ты бог системы и можешь всю её поломать.
>>Если так разобраться в знаниях, которые нужны для работы в Линуксе......есть вариант - отдаться корпорации добра которя за тебя знает как тебе лучше.
вперед!
У Майкрософт хотя бы sshd не активирован по умолчанию и файрвол настроенный включён )
а что плохого в sshd ? по-моему это "программа для каждого компьютера".у майкрософта по умолчанию "активированы"
1) SMB (клиент, сервер и протокол);
2) MS RPC (клиент, сервер и протокол).оба гораздо более дырявы чем sshd.
от первого избавится можно, второе можно замкнуть в рамках 127.0.0.1,
с вероятностью 80% все будет работать как надо (проблема в оставшихся 20%).
вот видишь - корпорация бобра "знает" )))
> стоит стать админом и всё - ты бог системы и можешь всю её поломатьЭто ещё что! Если у тебя есть физический доступ к компьютеру, на котором она установлена, можно вообще взять молоток и расхерачить всё к чертям собачьим. Вот это уязвимость так уязвимость. А эти все повышения привелегий так, игрушки.
Привилегия - Википедия. Извините ) 93777
Изначально *никсы это многопользовательские системы. Управляет системой админ (рут). А пользователь пользуется. Глобальные системные вещи пользователь трогать не должен мочь, т.к. при этом он может поменять окружение другим пользователям.Sudo делает пользователя root'ом на время. И опять же не любого а только того кто в sudoers прописан. Обычно это тот кто систему ставил. А если еще юзеры есть, они, внезапно, sudo могут и не мочь. И в этом случае они не могут радикально перепахивать систему.
В принципе сравнимая идея в Windows на основе NT (2k/xp/vista/8/10/...) была но из-за Win95 где системы прав не было софт настолько привык к тому что всем можно все, что в результате оказалось что это сделать в полном виде проблема: виндовые программы под бесправным пользователем часто дуреют. Повявились еще более странные костыли, когда вот вам типа-админ, но тот админ не совсем админ, а немного урезанный, полу-недо-админ, и вот вам UAC и все такое, дескать, если этого не хватило. В общем то нечто типа sudo - только еще кривее на самом деле.
Сколько тут новостей про nftables было - почти все про уязвимости. У стороннего наблюдателя может создаться однобокое впечатление, что оно собссно из уязвимостей и сделано :D.
Ну ващета, сразу при появлении этого ..., все сразу запаслись попкорном на отслеживание CVE