В JavaScript-движке LibJS, применяемом в web-браузере Ladybird, выявлена уязвимость (CVE-2025-47154), позволяющая добиться выполнения своего кода в системе при обработке специально оформленного JavaScript-кода. Уязвимость вызвана освобождением памяти на вектор m_argument_values_buffer, на который оставался указатель в структуре arguments_list, что приводило к обращению к уже освобождённой области памяти. Доступен рабочий пототип эксплоита...Подробнее: https://www.opennet.me/opennews/art.shtml?num=63178
"Для продолжения разработки браузера Ladybird решено использовать язык Swift"."Уязвимость вызвана обращением к уже освобождённой области памяти".
Вот что бывает, когда разрабы выбирают не безопасный язык, а попсовую проприетарную хренотень для макосной хипстоты.
> Вот что бывает, когда разрабы выбирают не безопасный язык,
> а попсовую проприетарную хренотень для макосной хипстоты.А по ссылке в новости пройти слабо?
Или боялся что коммент написать не успеешь?
Фикс в файле Libraries/LibJS/Runtime/ECMAScriptFunctionObject.cppВот где ты свифт увидел? Очередная дыра в коде на дидовых плюсах.
Окей. Но показательно, что ни до, ни после переписывания на хипстоязычок - браузер не будет memory-safe. Спасибо, но у нас уже есть хром и фф как представители небезопасных практик программирования. Ледиберд устарел, так и не увидев свет.
> Но показательно, что ни до, ни после переписывания на
> хипстоязычок - браузер не будет memory-safe.Чувак, ты вообще нормальный?
В твоей же цитате "Для продолжения разработки браузера". Что тебе не понятно в слове "продолжения"? Как добавление свифта исправило бы СТАРЫЙ код?> Спасибо, но у нас уже есть хром и фф как представители
> небезопасных практик программирования.Ну так пользуйся хромом. Как ты будешь резать рекламу - уже другой вопрос.
> Как добавление свифта исправило бы СТАРЫЙ код?Проекты в целом предпочитают какой-то один язык для снижения порога вхождения новых разрабов. С этой точки зрения, LibJS УЖЕ легаси-код. Когда на хипстоязык будет переписана критическая масса, от плюсового кода в целом решили бы избавиться. Но у ледиберда до этого не дойдет: проект мертв еще не родившись именно из-за выбора дурацких языков. Никакой здравомыслящий разраб с гигантским кол-вом свободного времени не предпочтет вкладываться (контрибутить бесплатно) в дурной браузер с дурным проприетарным языком.
> Как ты будешь резать рекламу - уже другой вопрос.
Знаешь, хром/фф, будучи плюсовыми браузерами с рекламой, но с очень мощной инфраструктурой по выявлению уязвимостей (с сотрудниками на зарплате, которые занимаются этим фултайм) -- это лучше, чем бравзир от васяна на том же самом небезопасном языке, но якобы "без рекламы". Потому что у васяна нет ресурсов заниматься уязвимостями фултайм. Для меня безопасность дороже отсутствия рекламы.
Вот тебе способы резать рекламу в хроме, начиная с самого легкого. Способ N+1 выбираешь, если способ N больше не канает. Прямо сейчас способов 1 и 2 достаточно.
1. Просто ставим расширение на Manifest v2.
2. В случае, если v2 больше не доступен, включаем его снова через хромовые политики и снова ставим расширение на v2.
3. В случае, если v2 выпилен из исходников хрома, просто ставим расширение на v3. Большинству юзеров он подойдет.
4. В случае, если хром решил тотально забанить все рекламорезки, ставим расширение v3 вручную, не из магазина.
5. В случае, если хром выпустит Manifest v4, в котором рекламорезки не реализуемы в принципе, патчим хром вручную, возвращая поддержку v3 (v2). Этим занялись бы дистры. Или возвращаем через политики.
6. В случае, если возвратить v2/v3 не удается, делаем адблокер прямо на плюсах. Такие патчи уже есть, смотри проект Bromite (реализовал адблокер для мобильного хрома на плюсах).
>[оверквотинг удален]
> 3. В случае, если v2 выпилен из исходников хрома, просто ставим расширение
> на v3. Большинству юзеров он подойдет.
> 4. В случае, если хром решил тотально забанить все рекламорезки, ставим расширение
> v3 вручную, не из магазина.
> 5. В случае, если хром выпустит Manifest v4, в котором рекламорезки не
> реализуемы в принципе, патчим хром вручную, возвращая поддержку v3 (v2). Этим
> занялись бы дистры. Или возвращаем через политики.
> 6. В случае, если возвратить v2/v3 не удается, делаем адблокер прямо на
> плюсах. Такие патчи уже есть, смотри проект Bromite (реализовал адблокер для
> мобильного хрома на плюсах).Спасибо за список, часть конечно смеху подобна, но есть и полезное! ;)
> смотри проект Bromite
> Current Bromite stable version: 108.0.5359.156 Dec 20, 2022нет, спасибо.
Разработка ушла в форк - Cromite
0. режем DoT и DoH, настраиваем MitM-прокси на локалхосте,
плюем на манифесты корпорации добра.
Если машин с десяток, а ради одной пеки корячить нечто подобное - перебор. Но придётся, если выбора не останется.
Уже сделали все за тебя - эдгуард. И лайфтайм лицензия по скидону что-то там адекватное стоит.
Опеннетчик — и чтобы за софт платил? Раньше в аду снег пойдёт.
>Как ты будешь резать рекламу - уже другой вопрос.Любой популярный браузер и с рекламой в разы лучше, чем все эти "альтернативы" (читай: нерабочие поделки) вместе взятые.
>проприетарную хренотень для макоснойhttps://www.swift.org/install/linux/
https://github.com/swiftlang/swiftРейтузы поменяй.
Статистику языков в проекте посчитал GitHub.C++ 64.8%
HTML 22.2%
JavaScript 11.0%
CMake 0.7%
Objective-C++ 0.5%
Swift 0.3%
Other 0.5%</Swfit>
Если в программе находят уязвимости, значит ей пользуются.
Нет, это значит, что в программе есть уязвимости и больше ничего.
Но если, всё-таки, программой пользуются/интересуются, то вероятность нахождения уязвимостей повышается.
Не очевидно. Если программой пользуются учителя начальных классов, то вероятность никуда у тебя не повысится.
Учителя самые лакомые жертвы таких эксплоитов. Дети их быстро найдут.
Что-то я не видел детей, которые бы выплаты от гугла получали.
Потому что ты наивный и думаешь что него много платит.
Зелен виноград, ага.
Ща RAII на std::умный_uint64 сделают, чтобы совсем перестало линковаться, и уязвимостей больше не будет. Да?
что-то разработчик - прямо-таки, мистер-успех
работал в нокии - ей конец пришёл, работал над сафари - по итогу получился отстойный и глючный браузер( ни в какое сравнение по удобству с тем же яндекс-браузером )
Теперь вот своё "добро" пилит, в котором дыр больше чем в куске хорошего сыра. Один только вопрос не даёт покоя пытливому уму - за какие такие заслуги ему дали 1 млн зелени
Странные выводы.
В нокии работали тысячи людей, но она таки развалилась.
Сафари работает на миллионах девайсах.> в котором дыр больше чем в куске хорошего сыра.
ну а чего ты хотел от дырявых ЯП типа С++?
>В нокии работали тысячи людей, но она таки развалилась.Работало там сильно меньше, последнее десятилетие своего существования контора почти полностью состояла из манагеров, которые потом перебежали к мелкомягким и с тех пор успешно гробят их изнутри во славу линуксу и финской палёнке.
Нет, от манагеров Элоп избавился. А вот финны до него развели там колоссальную менеджерскую прослойку, которая Нокию на дно и утащилаhttps://habr.com/articles/171325/
> Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
А что насчёт раста? Он тоже дырявый? Ведь он использует llvm, написанный на дырявых плюсах.
Значит, ТОТ, кто дал зелени, заинтересован в массе дыр. Чбоб среди дыр ЕГО закладки менее заметны были.
За трубки нокии "спасибо" майкам - убрали конкурентов . На симбе юзеры до того "обнаглели" , что массово собственные прошивки собирали - нафиг такую вольницу терпеть . А в том , что майков не интересовало - нокиа до сих пор в лидерах .
Но в результате нет Симбы, увы. Nokia теперь выпускает такую же Adndroid-унылость, как и все.
С появлением андроида и айос дни симбиана и так были сочтены.
Симбиан "ушли" именно из за того что андроид и айос совместно с поделкой самих майков просто не могли конкурировать . Практика показала что владельцев нокий не получится обложить тотальной мздой - за софт , всевозможные обновления и беспрерывный траффик . Ничего из современности не напоминает ?
Симбиан «ушли» и пользователи, и разработчики. С чем там конкурировать-то было? С возможностью создания прошивок? Ах, как это покупателям необходимо было.
Да, расскажи нам что-нибудь ещё про волшебный Симбиан. Я как раз с Симбиана на первый айфон перешёл и хорошо помню разницу. Нет, его не сговор корпораций убил, он сразу такой мёртвый родился.
Вы те трубки той ноклы с той симбой в глаза-то видели, или Рэбе-Нович насвистел? Ну, конкретно браузер там удобный был, да - куды тем сафарям с хромом, ага. Это, конечно же, компенсировалось большим количеством разнообразных специально написанных на плюсах приложений... ведь да? Да?
> За трубки нокии "спасибо" майкам - убрали конкурентов$MS пришла спасать остатки того что уже, по факту, развалилось. Конечно же, на свои технологии. Да, могли бы выбрать андроид и тогда агония эффективных менеджеров продлилась бы подольше, но кардинально изменить катастрофу было уже нельзя.
у микрософта ведь тогда своя мобильная ОСь была. В принципе, даже не сказать, чтобы сильно плохая на фоне андройда тех времёнВ Рувики, кстати, примечательное упоминание попалось:
> Компания Microsoft, разрабатывающая Windows Mobile,
> получает лицензионные отчисления от производителей техники и ПО для Android.
> При этом доход компании Microsoft, получаемый таким образом,
> более чем в 2 раза выше, чем доход компании-разработчика, то есть GoogleХотя там и ссылка на новость 10-летней давности и упоминание на роялти в $8 с 80% всех выпускаемых андройдных мобильников
>> При этом доход компании Microsoft, получаемый таким образом,
>> более чем в 2 раза выше, чем доход компании-разработчика, то есть GoogleЕсли бы только доход. Пресловутый патент на fat32 был супер козырем у МС в торговой войне. Истек всего несколько лет назад.
Какая разница он свои бабки получил, а ты нет. Лузер в этом всем ты.
лузер тот кто тратит деньги вникуда и ни на что )
хотя, в итоге, то "финансирование" может оказаться банальнейшим распилом
Нокиа живёт и здравствует, просто перестала неубиваемые мобилки клепать
а, сорри, не заметил, что у топикстартера качество сыра определяется количеством дырок
таки нокиа до сих пор пишет ПО для GSM с помощью индусов, и ничего, гребёт бабло лопатой
Лучше бы в lexbor пожертвовали, там адекватнее разработка
Лучше бы уже навайбкодили норм двиг для хтмл.
>C: 99.2%Что там не memory-safe, что тут.
Memory-safe это миф для детей.
Все так новость обсуждают, и забывают, что у Ladybird даже не альфа-версия, так что чем раньше такое отлавливается, тем лучше.
Очередной движок для рендеринга HTML справки поломали.
И это хорошо.
Хотели браузер для конкуренции с Мозиллой? Получите. Это только начало.
Это типа преальфа. Неизвестно, выйдет ли она из этого состояния когда-либо.
Еще ничего не сделали, но уже налажали.
Абсолютно пофиг на уязвимости, если ЭТИМ невозможно пользоваться.
Москва не сразу строилась.
Изначально было очевидно, что писать браузер на крестах плохая идея, слишком уж они дырявы. Но удивительно то, что нисмотря ни на что на них старательно продолжают создавать всё новые и новые ошибки
А на чем писать браузер, чтоб было не дыряво?
на Swift же! 😅
> При помощи возвратно-ориентированного программирования (ROP - Return-Oriented Programming, эксплоит формируется из уже имеющихся кусков машинных инструкций, завершающихся инструкцией возврата управления) была сформирована цепочка для выполнения системного вызова execve для запуска внешнего приложения.Удобно как. Сишники не только дыры делают, но уже и тулзы понаписали для их удобного использования.
Странно, что корпорации против небезопасных языков – это ж сколько денег можно отмыть на пустом месте!
> Странно, что корпорации против небезопасных языковВ безопасных языках уже другие методы: "... бэкдор в ... пакете от разработчиков ..."
То есть онаним даже не может предположить, что в небезопасных языках тоже могут быть бэкдоры?
> В безопасных языках уже другие методы: "... бэкдор в ... пакете от
> разработчиков ..."Это в любом языке/фреймворке/ОС где есть пакетные менеджеры
интересно, почему парсер не в песочнице стартует.
и да, все равно сейчас пользовательские приложения на большинстве дистрибутивов ставятся через флатпак. а до пакетов с доступом к корню на флатхабе докапываться начали.
не очень понимаю, зачем клепать новости вида "в очередном софте от Васи очередной ACE!!!". те, кому надо, могут подписаться на рассылку в трекере багов своего дистрибутива.
а у тех, кому не надо, давно рандомные процессы что попало делать в системе не могут.
еще забавно, как некоторые товарищи под каждой такой новостью прыгают со своим "мемори-сафети".
забывая, что там, где подобное было критично, давно уже настроены MACи/песочницы(и даже для ядра. в линуксе сейчас вообще всего одна подсистема, где уязвимости могут привести хоть к чему-то - lsm) и "сафети" ценой производительности не уперлось никому.
Вот в браузере как раз производительность ценой «сафети» не упёрлась никому. А упёрлась даже не безопасность, а чтобы он банально не падал от каждого чиха.
> "сафети" ценой производительности не уперлось никому.Странное высказывание? Зачем нужна производительность ценой сафети? Чтобы майнерам, которые тебе натолкают, было бы доступно больше тактов CPU?
> еще забавно, как некоторые товарищи под каждой такой новостью прыгают со своим "мемори-сафети".Забавный факт: стырить твой ~/.config/chromium равносильно стыриванию у тебя всей папки со всеми документами: паспорт, свидетельство о рождении, снилс, еще какая-нибудь хрень. Одних лишь кук от гугла достаточно, чтобы узнать о тебе то, о чем даже *ты* о себе не знаешь. Песочница, как понимаешь, тут не поможет, потому что ~/.config/chromium будет доступен песочнице целиком. Именно поэтому мемори-сейфти: чтобы браузерная вкладка не могла выполнять код от имени всего браузера.
Всегда интересно было как от юз афта фри добраться собственно до калькулятора и как это вообще возможно. Ну типа где одно и где другое.
https://github.com/LadybirdBrowser/ladybird/commit/5a6704219...Там стек перезаписывается. Соответственно можно туда напихать специально подобранных адресов которые указывают на нужные тебе байтики инструкций. И после первого ret пойдет выполняться твоя цепочка ROP
Так если юз афта фри это не на стек а в кучу. Тем более что ну данных он там написал, и что сразу они куда надо прыгнут.
Так, по хорошему, это, должно быть, не уязвимость LibJS, а фича Ladybird?
Посмотрел видос на Ютубе как там автор Ледибёда на конференции рассказ сказывает, интересно, он его ради фана точит