Вернер Лемберг (Werner Lemberg), ключевой разработчик библиотеки рендеринга шрифтов FreeType, предупредил пользователей о выявлении уязвимости (CVE-2020-15999), которая позволяет выполнить свой код при обработке специально оформленных TTF-файлов с PNG sbit глифами. Имеются сведения, что уязвимость уже активно эксплуатируется злоумышленниками. Проблема вызвана переполнением буфера, возникающим при обработке глифов с битовыми картами очень большого размера...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=53922
Через Web Font в браузуре или встроенный в документ шрифт в офисном пакете эксплуатировать можно? Или там свои движки отрисовки шрифтов?
Можно наверняка, судя по описанию. Другой вопрос, можно ли выйти на пределы песочницы браузера.
А с чего бы нельзя, если речь о выполнении кода злоумышленника в обычном потоке ?
Песочница - она обычно только для жс и его подобий( и то, скорее, в виде некоторых ограничений и нюансов при JIT'е )
Level 4 песочниц FF для этого и придуман же - от уязвимостей через Xorg, шрифтов и некоторых видеодрайверов. Именно он у подавляющего кол-ва пользователей.
>PNGPNG уже давно пора на помойку истории. Есть же например JPG и TIFF
TIFF - это контейнер. А PNG тот же всеми установленный Noto Color Emoji использует.
> А PNG тот же всеми установленный Noto Color Emoji использует.Если проверенный TTF-шрифт установлен в девайс, то и узвимости нет.
Другой вопрос, как предотвратить подгрузку TTF-шрифтов на Android-девайс ('без root'), для которых обновлений безопасности уже не выпускают.
А JPG у нас разве многослойный формат? В PNG то есть альфа.
>jpgжпег - лосси, пнг - нет
>tiff
контейнер
еще варианты?
Только tga, всё остальное хлам (я проверял). Png вроде тоже лосси может быть, но действительно, распространение у него примерно такое же, что и у lossless webp (даже меньше, и по-моему он вовсе не lossless), а артефакты выедают глаза. Бтв, вроде именно png мы обязаны за существование zlib сегодня -- это свободная реализация алгоритмов zip. Так что теперь каждый раз, когда ты жмёшь свой файлик в gzip, думай о великом.
> Только tga, всё остальное хлам (я проверял). Png вроде тоже лосси может
> быть, но действительно, распространение у него примерно такое же, что и
> у lossless webp (даже меньше, и по-моему он вовсе не lossless),
> а артефакты выедают глаза. Бтв, вроде именно png мы обязаны за
> существование zlib сегодня -- это свободная реализация алгоритмов zip. Так что
> теперь каждый раз, когда ты жмёшь свой файлик в gzip, думай
> о великом.Там же deflate... Ладно, на самом деле они с zlib только заголовком отличаются.
> Png вроде тоже лосси может бытьНе может.
Я сейчас проверил, и, видимо, именно поэтому первая ссылка в выдаче сообщает, что png может быть lossy. На самом деле все ссылки говорят, что может. Где ты взял свою информацию? Просто, я-то исхожу из личного опыта.
http://www.libpng.org/pub/png/book/chapter09.html#png.ch09.d...
>The PNG specification defines a single compression method, the deflate algorithm, for all image types.
Это так, но можно удалить часть информации незаметно для глаза, восстановив её уже при открытии. Собственно, это именно то, чем лосси и является.
Лосси это когда фотку сжал, расжал, а расжатая фотка отличается. То, что ты описад - просто метод сжатия типа RLE. Учи матчасть!
Не вижу смысла это обсуждать, это точно такой же препроцессинг с потерями как у лосси, и отличается он от лосслесс только (фактической) необратимостью изменений.
> удалить часть информации
> восстановив её уже при открытииЭто лосслесс.
Вернуть всё никто не обещал.
bmp.gz
> еще варианты?Жил, GIF и будет GIF
JPEG вообще PNG не заменяет. PNG позволяет компактно хранить примитивные изображения (типа блок-схем) без потери качества. TIFF — проприетарный формат, старше PNG.
Побойтесь Бога, панове! Какая проприетарщина и формат? В tiff и факсы с 2-мя кодеками шлют и JPG туда можно жать, и PNG, и RLE, и голый deflate/zlib поток, и, о боже мой, проприетарные форматы большинства цифровых фотоаппаратов (выше уровня "мыльница"), тоже tiff'ом являются.
> тоже tiff'ом являютсяТак TIFF в общем-то, если уж совсем упрощённо, набор меток, который, согласно заранее определённому "соглашению", позволяет разобрать упакованый blob. Есть базовый стандартный набор меток, который все понимают, а уж в расширенных вот там уже кто что и как в тот blob наскладывал - NRG, CDR и прочие RAW-ы.
Т.е. TIFF :)
правильно, все на PCX
Или на TGA.
толсто же
ты что наркоман или прикидываешься? PNG и на помойку? Да я тебя...!
Ээ, почему именно jpg и tiff?
Почему не webp, не av1?
Как это можно сравнивать :-D?
png сжимать картинку без потерь, в отличии от jpeg. png умеет прозрачность, в отличии от jpeg. Png не заменить в web jpeg'ом. И уж если на свалку и гнать кого, так jpeg.
Эх, тестовый шрифт что-то у меня отказался крашится на Debian Stable.
Патч может уже прилетел? Под Linux Mint патч присутствует, видимо портирован с Debian или Ubuntu
Не было никаких патчей давно на него.
https://savannah.nongnu.org/bugs/?59308 — тестовый файлик отсюда у кого свалился вообще? Или у меня просто старый фритайп.
В HarfBuzz такой ошибки нет?
> Проблема вызвана переполнением буфераАхахахахахахахаха
Ждём традиционных даунских комментов в стиле "это всё программисты виноваты, надо просто нормальный код писать!!"111" )))
Скорее на нормальном расте или питоне, которые байдизайн такого не позволяют, ага
на ниме
В Ниме же вроде нет проверок как в Расте
Сотни языков такое не позволяют бай десигн
Ты так говоришь как будто они не виноваты.
Виноваты тем что пишут на си.
Виноваты тем что не читали документацию, не прошли обучение, не использовали современные подходы при разработке ПО и как итог — не проверили размер буфера при копировании.
> Виноваты тем что не читали документацию, не прошли обучение, не использовали современные
> подходы при разработке ПО и как итог — не проверили размер
> буфера при копировании.Ниже некий анонимный господин расписал для умственно неполноценных подробно в чем дело. Советую прочитать его комментарий. Там о самолетах и вине пилота.
Тебе не приходилось задумываться о концепции вины, зачем она нужна вообще? Зачем искать виноватых? Хомячки это делают по фану. Чиновники ради того, чтоб их самих не назначили виновными. Но это же всё явный асоциальный бред, и явно вину придумали не для этого. Зачем?В международной практике расследования инцидентов в гражданской авиации уже как несколько десятилетий забанена причина "ошибка пилота". То есть расследование столкнётся с большими проблемами, если оно попытается выдать ошибку пилота за результат расследования. Как ты думаешь, почему так?
потому что пилот уже не управляет самолетом. Пилот - это оператор бортового компьютера самолета.Видимо, ты хотел сказать, что расследование должно проводиться для выявления и устранения уязвимостей, а не для наказания.
> потому что пилот уже не управляет самолетом. Пилот - это оператор бортового
> компьютера самолета.И да, и нет. Пилот может и оператор, но он остаётся человеком, то есть ему может моча в голову ударить, и он будет бухать за штурвалом, или суицидально направит самолёт в склон горы, или посадит своего ребёнка за штурвал, чтобы тот мог поиграть в пилота. Даже в этих ситуациях ответ "ошибка пилота" будет большой проблемой. Почему?
> Видимо, ты хотел сказать, что расследование должно проводиться для выявления и устранения
> уязвимостей, а не для наказания.Нет, ты не угадал. Я б сказал, что у тебя подход к поиску ответа неверный -- ты пытаешься найти ответ в стиле, подходящим для школьного экзамена, то есть такой, который можно сформулировать в двух предложениях. Но это реальный мир, в нём таких ответов не бывает. В реальном мире ответом будет ментальная модель проблемы, которая позволяет рассуждать об этой проблеме.
Расследование проводится с целью найти причину. А причина нужна для того, чтобы воздействуя на неё, воздействовать на следствие.
Это звучит просто, но дальше начинаются проблемы.
Первая проблема -- следствие уже наступило, оно уже вытекло из причины. И причина и следствие уже в прошлом и недоступны для нас, мы не можем на них воздействовать. Уязвимые системы уже эксплуатируют, самолёт уже разбился. С этой причиной борятся обобщением: выполняют переход от конкретного события к классу событий, например к пьянке за штурвалом, к безответственности, к классу ошибок use-after-free, buffer-overflow или к чему-нибудь подобному. Этот этап часто игнорируют, и перескакивают от конкретного случая к классу неосознанно, но он тем не менее очень важен, и неосознанно нельзя его проходить.
Вторая проблема -- неоднозначность причины: в реальном мире можно найти тысячу разных причин. Пилот бухал за штурвалом? Причиной можно назначить какое-нибудь свойство пилота -- несознательность, депрессию, алкоголизм, ... Можно назначить причиной какое-нибудь свойство второго пилота -- страх перед первым пилотом, или дружеские отношения с ним и нежелание его подставлять. Можно назначить причиной доступность алкоголя в кабине пилота -- ведь если бы алкоголь был бы недоступен пилоту, никакой алкоголизм не смог бы заставить его выпить, потому что пить нечего, если шмонать пилотов при входе в кабину, можно гарантировать отсутствие алкоголя. Можно назначить причиной главного пилота компании, который позволил экипажу вылететь, несмотря на бухого пилота. Можно назначить причиной врача, который не диагностировал алкоголизм пилота. Можно назначить причиной того, кто писал правила, и не вписал туда запрет на алкоголизм у пилотов, и требование врачам компании проводить диагностику алкоголизма. Это можно продолжать довольно долго, и добраться до CEO, который недостаточно пинал своих подчинённых, чтобы те разработали бы правила и процессы, которые бы исключали возможность пьянства за штурвалом. Я отмечу, что эта вторая проблема становится только хуже от первой: потому что избранный способ классифицировать причину/следствие будет влиять на содержание списка возможных причин.
Ища причину, ты начнёшь с физической причины -- с изучения траектории движения самолёта, которая привела к столкновению со склоном горы, а закончишь политической. В процессе ты переберёшь причины биологические, психологические, технологические, социальные и экономические. И... ты обрати внимание, что может называться причиной, а что нет определяется тем, какие способы воздействия у нас есть. Способов этих вагон и маленькая тележка -- способы ограничены только изобретательностью. Но выбор способа воздействия зависит от выбранной причины. Причина зависит от способа, а способ от причины. Тут всё очень непросто.
Короче, я выше предпринял усилия вогнать тебя в непонятки и спровоцировать процесс мышления на включение. Если мне это не удалось, но тебе всё же хочется понять, в чём проблема, я могу предложить тебе включить мышление силой воли и самостоятельно поискать проблемы в идее весь мир описывать в терминах причин и следствий, которые смогут тебя озадачить. Это единственный способ понять. (Точнее расширить границы своего непонимания и осознанно НЕ понимать большее количество вещей)
Вы какой-то запредельный уровень демонстрируете для этого места.
А комментарий ваш я пожалуй зацитирую.Да, всё верно, проблемы существуют на разных уровнях сложности, причем одновременно.
Ошибка пилота - нерешаемая, через прямое воздействие на пилота, задача. Пилот, человек, сам-то очень мало контроля над своими действия имеет, потому как живет и управляется сложнейшей системой культуры, религии, общества, близкого круга общения и социальных обстоятельств.
> Вы какой-то запредельный уровень демонстрируете для этого места.Это сезонное. Осенняя депрессия. Заносит на поворотах. Сорри.
> уже как несколько десятилетий забанена причина "ошибка пилота"Что за чушь? А «человеческий фактор», это не вина пилота что ли? Погугли «МАК назвал причиной крушения Як-42 действия экипажа» и не пиши больше такую ерунду.
>> уже как несколько десятилетий забанена причина "ошибка пилота"
> Что за чушь? А «человеческий фактор», это не вина пилота что ли?
> Погугли «МАК назвал причиной крушения Як-42 действия экипажа» и не пиши
> больше такую ерунду.Я б рекомендовал тебе не делать поспешных выводов на основании cherry-picked результатах расследований.
Щястье-то какое!
И то, что ФФ на расте, не помогло.
ты уверено, что этот кусок кода написан именно на расте?
Про то, что растоманы всё равно используют крестовые и сишные либы
https://wiki.mozilla.org/OxidationЗдесь перечислены компонены лисы, которые написали или переписали на rust.
С указанием мотивов зачем так сделали.
Когда тебя забанят?
Когда вы перестанете полыхать и примете факт дырявости сишки
Ты пишешь заведомо не полную информацию то есть лжёшь, провоцируешь тем самым окружающих на спор с тобой, это называется «троллинг», это очевидное нарушение правила ресурса, но тебя не банят.Почему?
> Ты пишешь заведомо не полную информацию то есть лжёшь, провоцируешь тем самым
> окружающих на спор с тобой, это называется «троллинг», это очевидное нарушение
> правила ресурса, но тебя не банят.1. В чем лож то?
2. Если не банят, то может не нарушает?
https://ru.wikipedia.org/wiki/%D0%9B%D0%...Изучай.
> https://ru.wikipedia.org/wiki/%D0%9B%D0%...
> Изучай.Ложь заключается в странице википедии о лжи?
С вами всё в порядке?
> 2. Если не банят, то может не нарушает?Чтобы добиться технического бана на опеннете, надо быть куда более ушибленым (видал N малое прецедентов).
https://www.opennet.ru/openforum/vsluhforumID3/122156.html#100
Ребята, не переживайте, в генту уже приложили патч к ебилду и теперь мы все защищены в будущем (в теории, все эти сляпанные на коленке патчи рулетка ещё та). Но тестовый шрифт что-то не работает, могли бы и тестовое демо замутить. К слову, ublock origin блокирует удалённые шрифты по-умолчанию, в результате чего атака может производиться только через любимые сайты с красивыми шрифтами.
А, я наверное понял, почему не работает. У меня freetype без png. И без harfbuzz.
> Ребята, не переживайте, в генту уже приложили патч к ебилду и теперь
> мы все защищены в будущем (в теории, все эти сляпанные на
> коленке патчи рулетка ещё та). Но тестовый шрифт что-то не работает,
> могли бы и тестовое демо замутить. К слову, ublock origin блокирует
> удалённые шрифты по-умолчанию, в результате чего атака может производиться только через
> любимые сайты с красивыми шрифтами.По-умолчанию юблок ничего из шрифтов не блокирует, не выдумывай. Но пунктик есть для тех, кто в about:config ленится лезть.
Не по-умолчанию? Я сколько ни ставил его, всегда казалось, что по-умолчанию это как раз включено в настройках. Может, поменяли дефолты?
У тебя просто настройки из учётки FF автоматом грузятся.
NoScript зато блокирует.
О, спасибо, поставил галочку. Пару байт сэкономлю, пару мс отрисовки надеюсь тоже.
> О, спасибо, поставил галочку. Пару байт сэкономлю, пару мс отрисовки надеюсь тоже.Оно экономит значительно больше. Там обычно запрос идёт на какой-нибудь левый сервис веб-шрифтов вроде гугловского, что занимает несколько десятков мс на резолвинг имени. Потом скачивание нескольких сотен килобайт шрифтов. Рендеринг осуществляется асинхронно, поэтому сначала рисуется системными шрифтами, а потом делает reflow, который сам по себе очень дорогостоящий и в итоге даже в лучшем случае это хозяйство занимает пару-тройку сотен миллисекунд. Порнография натуральная.
Интересно, как в хроме настраивают это все? У них вроде about:congig нету
> генту уже приложили патч к ебилдуС генты жидо-масоны выкинули hardened-sources который защищал от ВСЕХ уязвимостей переполнения буфера и СМЕНИЛИ сами цели Hardened projects!
Выкинули binutils необходимых версий для правильной линковки hardened-sources.
Микрософт похерил Python чтобы его невозможно было без патчей сорцов использовать со строгой настройкой hardened-sources.
.....
Вселенная в опасности!
У меня были проблемы с java и wine на hardened. И с nvidia-drivers. Шутки ради накатил на несколько инстансов vpsок, некритичных к версиям и процессу обновления. Количество проблем со всякими перлами мне не понравилось. Хороший проект запороли, конечно, но что-то уже взяли в ядро из grsecurity. Пока МС не пришёл, всем было наплевать на безопасность и не брали.
А, ещё для адоб флеша приходилось отключать. Как можно пользоваться ПК без адоб флеша в наше время, сегодня… А хотя да, сегодня уже электрон в моде.
> но что-то уже взяли в ядро из grsecurity.Ты посмотри реализации и сравни. В GrSecurity строгая, бескомпромиссная реализация, а в Linux дыряво пишут: https://www.linux.org.ru/news/security/15947216?cid=15954516
Кто-то ещё использует шрифты сайтов, а не свои, в браузерах? Ну тогда - ССЗБ.
> Кто-то ещё использует шрифты сайтов, а не свои, в браузерах? Ну тогда
> - ССЗБ.Было бы всё классно, если бы добрая часть вебдизайнеров не использовала кастомные шрифты для элементов интерфейса вроде всяких там иконок. Нафейхоа? Ну используй ты стандартные из символьных шрифтов. Нет же, надо очередную лупу засунуть в fontforge в webfont в 3 форматах, залить сомнительной надёжности заголовок (чтобы каждому браузеру его любимый формат отдавать) из статьи на каком-нибудь ресурсе по обмену премудростями.
Потому что ожидать, что у всех будет символьный шрифт с нужным тебе символом это сомнительное удовольствие. Продвигайте какой-нибудь во все ОС или браузеры (второе проще и быстрее).
В общераспространённых шрифтах вполне достаточно символов для любых нужд.
В твоём линуксе есть, инфа 100%.
В моём линуксе и Noto Color Emoji есть, но всё-таки.
Тогда у тебя есть Opensymbol и Noto Symbols/Noto Symbols 2
Я тонко намекаю, что мой локалхост ≠ локалхосту пользователей всех времён и народов.
> Я тонко намекаю, что мой локалхост ≠ локалхосту пользователей всех времён и
> народов.Ты переоцениваешь свою уникальность. Символьные шрифты есть на всех десктопах. Если это только не гентовод или арче...чер, пытающиеся собрать минимальную систему.
Символьные шрифты, в которых есть все символы, которые тебе понадобятся? Евгений Ваганыч, не признал вас в гриме, богатым будете.
Чо ты чешешь? Какие там тебе глифы нужны, которых нет в дефолтной поставке любого десктопного линукса? Кнопочек play или поисковой лупы?
Кто-то ещё замарачивается шрифтами?
Практически все. Вот какой резон новостному ресурсу использовать кастомный шрифт? И ладно, если это что-то приличное, заточенное под экранное отображение, так дебилы везде тулят thin начертания или какой-нибудь кастом, обработанный ttfautohint'ом, чтобы глаза совсем уж не текли у пользователей. Задолбали вообще уже этими ресурсами и JS библиотеками, подгружающимися с левых серверов.
Эх, кто бы переписал на Rust или на Go лучше?
Уже:https://github.com/mooman219/fontdue
https://github.com/raphlinus/font-rs
https://gitlab.redox-os.org/redox-os/rusttype
> There is an optional SIMD module for cumulative sum, currently written in C SSE3 intrinsics.
> The code isn't well organized, and it's basically not ready for prime time. However, it runs well enough to run benchmarks
> does not support
> Font hinting.
> Ligatures of any kind.Нет, всё ещё нет. Плюс непонятно как это использовать из других языков, где .so, где .h?
Раст с го ненужны. Необходимо соблюдать элементарные правила которые нам деды с 1960-тых завещали: https://www.opennet.ru/openforum/vsluhforumID3/122156.html#96
Да, раст не нужен. Просто нужно не делать ошибок при программировании которые приводят к переполнению буфера!
Нет! Ошибки приводящие к переполнения буфера были есть и будут.Дело в ядре OS которое должно давать гарантии невозможности эксплуатации переполнения буфера:
https://www.opennet.ru/openforum/vsluhforumID3/122116.html#89
https://www.opennet.ru/openforum/vsluhforumID3/122116.html#90
https://www.opennet.ru/openforum/vsluhforumID3/122119.html#96
Да хватит уже своей панацеей торговать. Прочитал древнюю статейку и возомнил себя самым умным? ROP давным-давно придумали, чтобы таких хитрых иметь.
> Да хватит уже своей панацеей торговать. Прочитал древнюю статейку и возомнил себя
> самым умным? ROP давным-давно придумали, чтобы таких хитрых иметь.Один про сишные дыры орет, второй про якобы панацею от них, называя при том почему-то словом, исторически означающим совсем иное (DAC)
Задрали тупые программисты, и зачем же эти кретины делают ошибки?
Ничего бы это не дало. Да ещё и не работало бы от слова совсем.
Чёрт, в Android ещё не пофиксили https://android.googlesource.com/platform/external/freetype/...
😢
А нет, пофиксили и уже давно https://android.googlesource.com/platform/external/freetype/...
> А нет, пофиксили и уже давно https://android.googlesource.com/platform/external/freetype/...Нет не пофиксили, там не в том месте проверка. См исходный патч https://git.savannah.gnu.org/cgit/freetype/freetype2.git/com...
Вероятно в 2014 без лишней огласки пытались устранить эту дыру, но добавили проверку размера не в то место.
Да нет, пофиксили
А ничего, что большинство вендоров Android не обновляет?
Андроид давно стал самой перспективной для дыр платформой. Практически все китаефоны не получат обновлений после продажи, сосунги тоже весьма условно поддерживают около года или чуть больше. Топовые модели ещё иногда фиксы получают, ширпотреб нет. Другой совсем вопрос, что selinux и песочницы очень сильно урезают шансы фейлов из разряда "лбом в штангу со всего размаху".
В 10ом гугль сам обновляет блоки, которые не зависят от вендора. Наступает эра модульности андроида, потому все меньше кастома у того же Xiaomi в их MIUI остается. Скоро будут только нескучные обои.
Какие он там блоки и как обновляет? А то у меня десятка и ещё не получил обновки фритайпа.
Самсунги получают 2 глобальных обновления андроида и ещё год фиксов после этого
Все современные вендоры должны делать минимум два глобальных обновления делать, такова политика гугля. Иначе заберет лицензию на гапсы.
> Все современные вендоры должны делать минимум два глобальных обновления делать, такова
> политика гугля. Иначе заберет лицензию на гапсы.Сказки венского леса.
Google требует двухлетний цикл с двумя крупными обновлениями для смартфонов, которвые вышли с Android 10, иначе потеряешь лицензию на гапсы. Под это требование были сделаны Project Treble и Project Mainline. Какбы давно не новость.
Китаефоны получают обычно одно мажорное обновление ОС, с мелкими обновлениями и обновлениями безопасности обычно хуже, но так чтобы вообще без обновлений - это совсем дно. С "ретейловыми" девайсами обычно все зависит от производителя. Скажем Lenovo кидает пару мелких обнов и быстро забивает, может даже без мажорного апгрейда оставить, по опыту телефоны они сопровождают лучше чем планшеты, а Motorola, которая как бы подразделение Lenovo - очень даже активно делает обновления безопасности для своих устройств. Самсунг у меня с Андроид 8 получал обновления до 9 и 10.
>Покупать телефон без LineageOSЧто тут еще сказать.
1. Андроидный ВебВью обновляется из плеймаркета вместе с хромом?
2. Он таскает с собой свой собственный ФриТайп?
Поэтому я не ставлю банковские клиенты на свой рутованый древний кастом. И AWFall обязательно.
Банковские зонды с рекламой и пуш уведомлениями о новых условиях епотеки ты хотел сказать?
Зачем это вообще ставить если есть браузер?
А это уже к Вашему банку вопросы - мне не шлют и даже всё работает без доступа к камере, контактам и смс
Держите в курсе.
> И AWFall обязательно.Каким образом это поможет тебе уберечь твой смарт от данной уязвимости? Разве что на твоем девайсе FreeType не обновлялся после версии 2.6 - https://sourceforge.net/projects/freetype/files/freetype2/2....
Вот поэтому я и отключаю внешние шрифты в браузере (browser.display.use_document_fonts). PDF и офисные документы особенно опасны в этом плане.
И вместо ВСЕЙ модной-современной навигации - разглядываешь рядок одинаковых квадратиков? А ты, смотрю, остороооожный!(зачем делать навигацию дерьмошрифтами вместо обычных картинок, которые ТОЧНО ТАК ЖЕ (ибо и шрифт, ну кто бы мог подумать и было ли чем - тоже набор картинок) - ну потому что их в дизайнерском ПТУ так учили.)
P.S. ну нет, не совсем так - конечно для открытия кнопки "profile" надо использовать не шрифт, а картику 16x16px с gravatar. Во-первых так моднявее, во-вторых может еще какие собиратели бигдейты не в курсе интимных подробностей жизни посетителя твоего сайта.
> И вместо ВСЕЙ модной-современной навигации - разглядываешь рядок одинаковых квадратиков? А ты, смотрю, остороооожный!Я тоже режу сторонние шрифты (umatrix'ом/ublock'ом). И, честно говоря, не наблюдал квадратиков на посещаемых мной сайтах.
Для понимания, можно пример сайта, который у меня, вероятно, сломается?
gsmarena.com навигация исчезает полностью
Подтверждаю, спасибо.
Да хрен с ними со шрифтами - в них иконки специально пихают, чтобы вынудить нас позволить себя ломать полностью. Хорошо что хоть по тексту URL всё нужное видно. А на GitLabе я и так помню что где.
3/4 популярных сайтов ломаются полностью без кастомных шрифтов, ибо навигация сделана через них.Удачи.
// b.
> 3/4 популярных сайтов ломаются полностью без кастомных шрифтов, ибо навигация сделана через
> них.ну не полностью, квадратики-то останутся. Можешь их наугад тыкать, так даже интереснее ;-)
даже плагины umatrix и ublock квадратики показывают)
благо есть всплывающие подсказки при наведкнии курсора.
Иконочные шрифты должны уже давно умереть, как вёрстка таблицами. SVG иконки и удобнее, и весят меньше, и перекрасить легко.
Да просто через userstyles подключаешь свой проверенный локальный шрифт или используешь unicode emoji вместо (чего хипстеры там любят использовать?) font awersome. А остальные запрещаешь через ublock и настройки браузера, и к тебе больше ни какие левые шрифты не загрузятся. Будет быстрее — не надо ждать ответа от CDN. В большинстве случаев даже по квадратикам можно понять кнопки. Ещё бы они писали подсказки и проблем бы не было, для тех кому совсем не нравятся иконочные шрифты.
Круче PostScript иконки, чем SVG.
pdf в браузере не опаснее обычного веба, а не в браузере у многих смотрелкам хотелки apparmor'ом порезаны. В Debian и Ubuntu например.
> pdf в браузере не опаснее обычного вебаДа, как же быстро время идет... Люди уже и о SHAttered стали забывать - https://shattered.io
Какое отношение коллизия имеет к безопасности? Ляпнул вообще не в ту корзину.
> Какое отношение коллизия имеет к безопасности?Как рендерятся в браузере шрифты встроенные в PDF?
Поглифно рисуются при помощи https://github.com/mozilla/pdf.js/blob/master/src/core/font_...С учётом того, что делается это в песочнице, про выход из которой нет сообщений, то твои инсинуации напрасны. Ещё вопросы?
Ды, ты так и не ответил, какое отношение твоя ссылка про коллизии в SHA1 имеет к шрифтам и PDF...
- хей, бро, тебя как взламали?
- через шрифты...
Уже выпустили 2.10.4 с фиксом
И? В большинстве реп самых популярных дистров обновлений все еще нет - https://repology.org/project/freetype/versions
Я думал, что когда изобретали TTF, никаких PNG не было. Впервые TTF я увидел в Windows 3.1, а PNG - в Windows 2000.
Как отключить поддержку шрифтов?
$ sudo apt-get remove --purge libfreetype6
Поэтому, бандленные либы -- зло, передаю привет пользователям void linux (или кто там статические экзешники делал).
Почему это в мининовостях, если затрагивает вообще всех, независимо от браузера и того, используется ли в браузере системный фритайп?
Не всех, а только тех кто разрешает исполнятся изменяемому коду. Используете нормальные дистрибутивы.
это вы про какие?
См. дистры в репах которых уже есть FreeType 2.10.4 - https://repology.org/project/freetype/versions
> Не всех, а только тех кто разрешает исполнятся изменяемому коду. Используете нормальные
> дистрибутивы.Это вы про нетбсд опять? Вы бы лучше написали бы, как в обычном линуксе все это настроить
> Проблема вызвана переполнением буфера
> уязвимость может быть эксплуатирована в Chrome/Chromium и FirefoxВсе что исполняется никогда не должно изменятся, а все что изменяется никогда не должно исполнятся!!! Соблюдение этого правила дает гарантию защиты от переполнения буфера.
JIT ненужен, все программы которые используют JIT, включая бровзеры необходимо выкинуть с вашей системы.
JIT нужен, иначе скрипты и JVM-приложения будут тащиться со скоростью пихона. Поэтому идея W^X, будучи весьма здравой, все же нуждается в своем дальнейшем развитии. (wxallowed пока выглядит как грубейший workaround).
JIT, и все программы которые эту технологию используют не нужны, даже java, firefox, js, ...В 1960-тых когда деды-математики закладывали основы матмоделей безопасности, установили режимы доступа RWX, и сказали WX одновременно - нельзя категорически.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
1.1.1.1 Executable code and read-only data must not be writable
Any areas of the kernel with executable memory must not be writable. While this obviously includes the kernel text itself, we must consider all additional places too: kernel modules, JIT memory, etc. (There are temporary exceptions to this rule to support things like instruction alternatives, breakpoints, kprobes, etc. If these must exist in a kernel, they are implemented in a way where the memory is temporarily made writable during the update, and then returned to the original permissions.)
In support of this are ``CONFIG_STRICT_KERNEL_RWX`` and ``CONFIG_STRICT_MODULE_RWX``, which seek to make sure that code is not writable, data is not executable, and read-only data is neither writable nor executable.
Most architectures have these options on by default and not user selectable. For some architectures like arm that wish to have these be selectable, the architecture Kconfig can select ARCH_OPTIONAL_KERNEL_RWX to enable a Kconfig prompt. ``CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT`` determines the default setting when ARCH_OPTIONAL_KERNEL_RWX is enabled.
JIT нужен, иначе скрипты и JVM-приложения будут тащиться со скоростью пихона.
1. JIT нужен ТОЛЬКО для того, чтобы обеспечить возможность эксплуатации уязвимостей переполнения буфера.2. Чтобы сохранять уязвимость ваших систем вам пытаются навязать ошибочное мнение, что без JIT на надцатиядерниках с несколькими гигагерцами у вас будут тормоза. И код для вас специально пишут так, чтобы он тормозил и возникала ложная необходимость в JIT.
3. JIT придуман инопланетянами для установления контроля над человечеством посредством эксплуатации важных человеческих систем.4. Эксплуатация будет вестись непосредственно из планеты Нибиру.
> JIT нужен, иначе скрипты и JVM-приложения будут тащиться со скоростью пихона.Сколько разновидностей джаваскрипт машин осталось? Единый байт код на все не поможет?
"Firefox также использует FreeType, а последнее изменение файла, в котором присутствует уязвимость, было произведено в мае."Tue, 20 Oct 2020 14:56:07 +0300 - уже поправили походу, обновляйтесь до ночнушки и будет вам радость.
А вообще - gfx.downloadable_fonts.enabled переключите
В ESR ещё не пофиксили, даже в 78.4
> В ESR ещё не пофиксили, даже в 78.4Честно говоря не понимаю почему. Смотрю по багам закрытым в последних билдах нчонушки (после релиза 82) - там идет вал того что отложили до перехода 83 из ночнушки в бету. Сейчас, в начале цикла там вообще все что угодно можно делать.
Поправка - вчера пофиксили, https://hg.mozilla.org/mozilla-central/log/tip/modules/freet...Bug 1672223 - [sfnt] Fix heap buffer overflow.
Tor подвержен уязвимости?
только если NoScript по-умолчанию UnTrusted для всех (я не помню какие там дефолтные настройки в тор-браузере)
gfx.downloadable_fonts.enabled;false
gfx.downloadable_fonts.woff2.enabled;false
browser.display.use_document_fonts set to 0настройки для анонов с торбраузером пока не выпустят обнову или нет возможности обновить.
как всегда, NoScript рулит
Какие версии FreeType уязвимы?
> Какие версии FreeType уязвимы?Конкретно к этому CVE уязвимы версии после 2.6. Ранние версии имеют свои CVE
В убунте уже.freetype (2.6.1-0.1ubuntu2.5) xenial-security; urgency=medium
* SECURITY UPDATE: heap buffer overflow via integer truncation in
Load_SBit_Png
- debian/patches-freetype/CVE-2020-15999.patch: Update
src/sfnt/pngshim.c to test and reject invalid bitmap size earlier in
Load_SBit_Png. Based on upstream patch.
- CVE-2020-15999-- Alex Murray <alex.murray@canonical.com> Tue, 20 Oct 2020 12:53:06 +1030
> В убунте уже.Да, они молодцы - http://changelogs.ubuntu.com/changelogs/pool/main/f/freetype... ; А в Debian (ни в buster, ни в sid) все еще нет патчей - https://metadata.ftp-master.debian.org/changelogs//main/f/fr...
>> В убунте уже.
> Да, они молодцы - http://changelogs.ubuntu.com/changelogs/pool/main/f/freetype...
> ; А в Debian (ни в buster, ни в sid) все
> еще нет патчей - https://metadata.ftp-master.debian.org/changelogs//main/f/fr...В Дебиан оно банально не работает. ХЗ, почему, но у меня тот шрифт не вызывает никаких описанных в отчёте проблем.
> В Дебиан оно банально не работает.Не знаю как у тебя, но Дебиан вчера накатил security патч в авральном режиме (но чейнджлога все еще нет) https://packages.debian.org/stable/source/freetype
Да, прилетел, но тесткейс у меня и до этого не работал и после него.
Говорила мама не смотри на всяких левых сайтах порношрифты.
> не смотри на всяких левых сайтах порношрифты.MyFonts, Open Font Library, вот это все
В Firefox Nightly уже прилетел фикс, Bug 1672223 - [sfnt] Fix heap buffer overflow.
Зато в дропнутую ведроверсию он не прилетит никогда. Желаю корпорацие Мозилла обанкротиться поскорее. Тогда с с мозилловой версией Firefox конкурировать будет не надо, авось кто-нибудь и возьмётся.
> Зато в дропнутую ведроверсию он не прилетит никогда. Желаю корпорацие Мозилла обанкротиться
> поскорее. Тогда с с мозилловой версией Firefox конкурировать будет не надо,
> авось кто-нибудь и возьмётся.Не знаю что вы так цепляетесь за нее. Да, конечно переход на новую версию прошел не очень гладко и в очередной раз пользователи потеряли тонну аддонов (мозилла как будто не замечает, что с каждым таким "переписыванием" аддонов становится все меньше), но вцелом - нормально.
Я открыл этот шрифт и линукс завис намертво
А брат жив?
Запрошенный font.ttf не является файлом шрифтов...
Упс...