The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Переполнение буфера в OpenSSL, эксплуатируемое при проверке сертификатов X.509

01.11.2022 19:42

Опубликован корректирующий выпуск криптографической библиотеки OpenSSL 3.0.7, в котором устранены две уязвимости. Обе проблемы вызваны переполнением буфера в коде проверки поля с email-адресом в сертификатах X.509 и потенциально могут привести к выполнению кода при обработке специально оформленного сертификата. На момент публикации исправления разработчиками OpenSSL не было зафиксировано фактов наличия рабочего эксплоита, способного привести к выполнению кода атакующего.

Несмотря на то, что в заранее опубликованном анонсе нового выпуска упоминалось наличие критической проблемы, фактически в выпущенном обновлении статус уязвимости был снижен до уровня опасной, но не критической уязвимости. В соответствии с принятыми в проекте правилами снижение уровня опасности производится в случае проявления проблемы в нетипичных конфигурациях или в случае низкой вероятности эксплуатации уязвимости на практике.

В рассматриваемом случае уровень опасности был снижен, так как в ходе детального анализа уязвимости несколькими организациями был сделан вывод, что возможность выполнения кода в ходе эксплуатации блокируется применяемыми во многих платформах механизмами защиты от переполнения стека. Кроме того, применяемая в некоторых дистрибутивах Linux раскладка стека приводит к тому, что выходящие за границу 4 байта накладываются на следом идущий в стеке буфер, который ещё не используется. Тем не менее, не исключено, что существуют и такие платформы, в которых возможна эксплуатация для выполнения кода.

Выявленные проблемы:

  • CVE-2022-3602 - уязвимость, изначально преподнесённая как критическая, приводит к 4-байтовому переполнению буфера при проверке в сертификате X.509 поля со специально оформленным email-адресом. В TLS-клиенте уязвимость может быть эксплуатирована при подключении к серверу, подконтрольному атакующему. На TLS-сервере уязвимость может быть эксплуатирована в случае применения аутентификации клиентов по сертификатам. При этом уязвимость проявляется на стадии после верификации связанной с сертификатом цепочки доверия, т.е. для атаки требуется чтобы удостоверяющий центр заверил вредоносный сертификат злоумышленника.
  • CVE-2022-3786 - другой вектор эксплуатации уязвимости CVE-2022-3602, выявленный в ходе разбора проблемы. Отличия сводятся к возможности переполнения буфера в стеке на произвольное число байт, содержащих символ "." (т.е. атакующий не может управлять содержимым переполнения и проблема может быть использована только для вызова аварийного завершения приложения).

Уязвимости проявляются только в ветке OpenSSL 3.0.x (ошибка появилась в коде преобразования Unicode (punycode), добавленном в ветку 3.0.x). Выпуски OpenSSL 1.1.1, а также ответвившиеся от OpenSSL библиотеки LibreSSL и BoringSSL, проблеме не подвержены. Одновременно сформировано обновление OpenSSL 1.1.1s, в котором присутствуют только не связанные с безопасностью исправления ошибок.

Ветка OpenSSL 3.0 используется в таких дистрибутивах, как Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, Debian Testing/Unstable. Пользователям данных систем рекомендуется как можно скорее установить обновления (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). В SUSE Linux Enterprise 15 SP4 и openSUSE Leap 15.4 пакеты с OpenSSL 3.0 доступны опционально, системные пакеты используют ветку 1.1.1. На ветках OpenSSL 1.x остаются Debian 11, Arch Linux, Void Linux, Ubuntu 20.04, Slackware, ALT Linux, RHEL 8, OpenWrt, Alpine Linux 3.16 и FreeBSD.

  1. Главная ссылка к новости (https://mta.openssl.org/piperm...)
  2. OpenNews: Fedora 37 отложен на две недели из-за критической уязвимости в OpenSSL
  3. OpenNews: Уязвимость в OpenSSL 3.0.4, приводящая к удалённому повреждению памяти процесса
  4. OpenNews: Выпуск криптографической библиотеки OpenSSL 3.0.0
  5. OpenNews: Опубликован прототип эксплоита для Heartbleed-уязвимости в OpenSSL
  6. OpenNews: В OpenSSL обнаружена критическая уязвимость, которая может привести к утечке закрытых ключей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58025-openssl
Ключевые слова: openssl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (141) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 20:00, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +16 +/
    Опять ненастоящие Сишники, да что ж такое!
     
     
  • 2.4, Аноним (1), 20:02, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это, конечно, не вебмакаки. Вебмакакам до такого уровня ещё деградировать и деградировать.

    Уже массив создать и заполнить не могут.

     
     
  • 3.53, Аноним (53), 02:19, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ubuntu packages are built with stack protector, reducing the
    impact of this CVE from remote code execution to a denial of
    service.

    Если кратко, максимум что грозить кулхацкеру - падение сервиса (билд с защитой стека как в убунте применяется практически во всех дистрах).

     
     
  • 4.70, ВлезВТопик (?), 07:38, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сишники настолько умные, относительно растоманов, что зачастую брезгуют любыми проверками кода.
    Вот вам и результат студенческого уровня..
     
     
  • 5.116, Аноним (116), 13:58, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смени топик на майку.
     
     
  • 6.147, Аноним (147), 14:55, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше на зайку
     
  • 2.9, Аноним (9), 20:16, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Уязвимости проявляются только в ветке OpenSSL 3.0.x

    Что-то последнее время часто появляются "уязвимости" в НОВОМ коде, а в старых версиях всё чисто.

     
     
  • 3.18, Аноним (18), 20:40, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Деградация, жертвы питона освоили C.
     
  • 3.20, Аноним (20), 20:42, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    у дидов обычно уязвимости на уровне спецификации протокола
     
     
  • 4.31, Аноним (9), 21:08, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    то не уязвимость, а закладка от АНБ была.
     
  • 3.25, another_one (ok), 20:49, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > а в старых версиях всё чисто

    Heartbleed такой - ну да, ну да...

     
     
  • 4.44, Аноним (44), 23:08, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, его всегда можно было отключать, или это потом уже придумали? Там вообще много чего отключается. Так что страдают в основном хомяки, юзающие предкомпилированные пакеты. Ну ещё хомяки-корпоративные тестеры, как мы видим.
     
  • 3.59, Аноним (59), 05:23, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    MS'овская многоходовка?
     
     
  • 4.89, Аноним (9), 09:54, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как только Лёня всплыл в проруби микрософта - уже ничему не удивляешься.
     
  • 2.19, Аноним (19), 20:41, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не веб-макаки говоришь... Ты фиксы смотрел? Это хуже чем любой вебмакакинг!
    - if (written_out > max_out)
    + if (written_out >= max_out)
    https://github.com/openssl/openssl/commit/fe3b639dc19b325846f4f6801f2f4604f56e
     
     
  • 3.32, Аноним (9), 21:10, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    растаманы бы написали

    if (written_out < max_out)

     
     
  • 4.107, Аноним (107), 13:30, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что бы сделали растаманы - твои маняфантазии.
    А что сделали сишники - мы все уже увидели.
     
     
  • 5.140, microsoft (?), 22:00, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Но и кода ты растик не показал
     
  • 3.61, Аноним (61), 06:36, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И что здесь такого? Чел забыл, что чек происходит уже после того, как данные пишутся в буффер, а не перед. По вашему было бы лучше обернуть код в кучу for циклов до такой степени, что он перестанет быть читаемым, потому что вам придётся следить за десятками проверок каждого цикла внутри цикла? Или лучше потратить рантайма на бесконечные проверки того, что нам как программисту и так уже известно, но пускай теперь эта проверка будет исполнятся каждую миллисекунду на миллиардах машин по всему миру?
     
     
  • 4.63, Аноним (63), 06:57, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Точно известно? А через неделю не забудешь? Через месяц? А коллегам не забудешь рассказывать?

    А для простых переборов всех элементов массива через foreach проверку во время выполнения можно не проводить

     
  • 4.82, n00by (ok), 09:33, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если ограничиться фрагментом из патча и не вникать в остальной код, то written_out инкрементируется на 1. Не понятно, зачем там вообще >. Достаточно было бы ==. В смысле, вместо > < <= >= == != выбор сужается до 2-х вариантов сравнения == или !=, и некорректный сразу не проходит тесты. Такому подходу учит концепция итераторов в плюсах, где operator>() может быть не определён.
     
     
  • 5.126, Аноним (126), 17:10, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не понятно, зачем там вообще >. Достаточно было бы ==.

    Ты про defensive programming слышал? Опыт программирования, особенно на языках типа C, приучает к такому стилю. Сейчас там может и достаточно было бы ==, а завтра придёт следующий, и за итерацию сделает ++ дважды, а проверку забудет поправить. Поэтому >=.

    > Такому подходу учит концепция итераторов в плюсах, где operator>() может быть не определён.

    Итератор и int -- это разные вещи, и обращаться с ними надо по-разному.

     
     
  • 6.141, Аноним (141), 04:08, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ты про defensive programming слышал?

    ты на ник его посмотри и не задавай глупых вопросов

     
     
  • 7.145, n00by (ok), 09:47, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Работает ведь. Особенно зачётно, когда персонаж без имени такое пишет. ;)
     
  • 6.144, n00by (ok), 09:29, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я слышал, что господа теоретики очень любят грузить оппонента заумными buzzwords... большой текст свёрнут, показать
     
  • 3.62, Аноним (63), 06:53, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ошибиться на 1 символ это самая частая ошибка, у людей нервная система так работает.
     
  • 2.35, Аноним (35), 21:13, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ненастоящие Сишники

    Что-то всё чаще и чаще мелькает бубнеж этой мантры. Не надоело?

     
     
  • 3.87, n00by (ok), 09:47, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Смотрите комментарий над проблемной функцией code - Pseudocode fu... большой текст свёрнут, показать
     
  • 2.41, Без аргументов (?), 22:49, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    npm audit fix
    https://vuldb.com/?recent.202211
     
     
  • 3.42, Без аргументов (?), 22:50, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://vuldb.com/?recent.202210
     
  • 3.90, Аноним (63), 10:06, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но вы же не веб-макака и знаете что такое шина адреса (она вообще есть у современных SoC?) и чем отличается гарвардская архитектура от фон Неймановской.
    Перепишите со смузихлебного языка js-ts на несмузихлебный... не знаю что Си-GO допустим
    Или хотя бы уменьшите количество зависимостей, ведь многих фронтэнд библиотек таких как typescript, react, dart sass, corejs и т.д. нет или почти нет не dev зависимостей.
     
     
  • 4.108, Без аргументов (?), 13:46, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто возьму Qt/WxWidgets, Pure JS (как макаки называют "отдельную технологию" чистого JS без фреймворков), и это не будет велосипед, т.к. добавлять пады слева и проверять тип объекта я умею руками.
     
     
  • 5.113, Без аргументов (?), 13:55, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    не Pure, Vanilla JS точнее. каких только не развели
     
  • 4.109, Без аргументов (?), 13:47, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Java Spring, наконец. Это касательно с фронтендом, кроме Go.
     
     
  • 5.123, Аноним (123), 16:28, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я правильно понимаю вы пишете одновременно на:
    1) go
    2) qt/c++
    3) WxWidgets/c++
    4) java/spring
    5) Pure C для микроконтроллеров
    6) фронтэнд на html/css/javascript без "доширак классов MMMMVVVVCCCC SPA"

    это в дополнение знаниям архитектур и шин.
    Если это не просто перечисление всех известных вам технологий, а действительно хорошо знаете каждую из них это очень здорово. Но не очень правдоподобно.

    Например у моей знакомой которая 15 лет программирует с трудом и не до конца удается совмещать 1 бэкэнд на C# и 1 фронтэнд на 1 библиотеке пользовательских интерфейсов Ext JS
    Она там один и самых лучших разработчиков.

     
     
  • 6.124, Аноним (-), 16:42, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Женщина-программист? Чего только не выдумывают на опеннете.
     
     
  • 7.136, Без аргументов (?), 18:55, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У меня была сеньёрша по шарпам. Реально. Просто место работы надо менять, и выбирать жесть жестяную, где уже в 1 месяц от старшИх нахватаешься.
     
  • 6.129, Аноним (123), 17:48, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    *Если это не просто перечисление всех известных вам названий технологий
     
     
  • 7.139, Без аргументов (?), 19:05, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На Java меньше всего, даже забыл. 9 лет назад. Я просто знаю, что жили нормально, всё работало.
    А щаз с фаерфокса аликспрэсс глючит, авито глючит, ВК грузит 25МБ шлака, сообщение не отправляется через 2G.
     
  • 6.132, Без аргументов (?), 18:50, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Мне 32. За компом с 9 (игрушки мои компы не тянули). На всём этом приходилось. Начиная с ассемблера 486. Плюс тесно в команде коллеги были на всём этом в разное время. Больше всего работал и поныне с Си и Го. JS только для сборки фронта после мерджа.
     
     
  • 7.142, Аноним (63), 06:14, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как здорово что на опеннет есть настоящие программисты способные писать сразу на 6-7 и более языках.
    Воистину талантливый человек талантлив во всем
     
  • 6.134, Без аргументов (?), 18:52, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Про схемотехнику, органицию ЭВМ, ПЛИС, ассемблер -- я это всё универ с магистратурой.
     
  • 6.135, Без аргументов (?), 18:53, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не кикбрейнс же проходил.
    И да, PL/SQL Oracle я тоже очень хорошо знал 3 года назад, и даже может быть по-сеньерному.
     
  • 6.137, Без аргументов (?), 18:58, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    вот с JS я не осилил, признаюсь. т.к. фрейморки это уже каждый из них космос, который сегодня есть, завтра дырявый и просит обновить с нарушением совместимости. только на чистом для эмбеда.
     
  • 6.138, Без аргументов (?), 18:59, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Еще сайт делал полностью под ключ на PHP + JQuery. 5 лет пашет, никакого вебмакакинга. Загружается весь контент через 2G без gzip на стороне NGINX. Макаки так не могут.
     
  • 4.110, Без аргументов (?), 13:51, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Память у вас хорошая. Касательно эмбеда верно: Си на бэке (Cortex M) или Go (Cortex A) + веб-морда с простейшим JS (НЕ доширак классов MMMMVVVVCCCC SPA). Несколько десятков килобайт даже без вебпаков, упакованных gzip nginx.
     
     
  • 5.114, Без аргументов (?), 13:56, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    кто делает сервер на cortex m, тот конечно тоже не совсем адекват
     
  • 4.111, Без аргументов (?), 13:51, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Про Раст не скажу, пока наблюдаю
     
  • 4.112, Без аргументов (?), 13:53, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > typescript, react, dart sass, corejs

    это всё нужно для SPA-PWA и прочий клей момент с жирным клиентом.

     
     
  • 5.115, Без аргументов (?), 13:57, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    и кстати удачи в SEO со своими SPA
     
  • 2.152, истина в последней инстанции (?), 20:40, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Опять ненастоящие Сишники, да что ж такое!

    Опять где же настоящие растоманщики?

     

     ....большая нить свёрнута, показать (50)

  • 1.2, Аноним (2), 20:01, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    OpenSSL, который мы заслужили.
     
     
  • 2.5, Аноним (5), 20:05, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >LibreSSL и BoringSSL, проблеме не подвержены

    Ну так для этого и ответвились - всё говно, которое Google не счёл экономически эффективным подвергнуть аудиту, он просто оттуда выпилил.

    Что настораживает - про GNU TLS - ни слова! Она тоже подвержена, просто эмбарго не истекло?

     
     
  • 3.45, Аноним (44), 23:09, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У неё нет пользователей.
     
  • 3.74, Аноним (74), 08:42, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Причём тут GnuTLS? Они с OpenSSL ни разу не родственники.
     
     
  • 4.80, iZEN (ok), 09:15, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Часть софта при сборке из портов FreeBSD даёт выбор использовать GnuTLS или OpenSSL.
     
     
  • 5.100, bOOster (ok), 10:54, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А из исходников, в большинстве случаев, ты можешь использовать что угодно, что LibreSSL, что OpenSSL, что GnuTLS.
     
     
  • 6.105, Аноним (44), 13:14, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В большинстве случаев нет, в софте должна быть явная поддержка в коде. Я делал такую поддержку и понимаю почему не хотят тащить настолько лишнее. LibreSSL вообще нет, потому что он нигде толком не поддерживается.
     

  • 1.3, Аноним (5), 20:02, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Уязвимости проявляются только в ветке OpenSSL 3.0.x,

    А может 1. никто не проверяет просто? Ведь не new shiny shit, прошлый век, непрогрессивно тратить своё время на старьё?

     
     
  • 2.60, Аноним (59), 05:25, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего проверяют, ветка 1.х на приватной поддержке вроде.
     

  • 1.6, Аноним (5), 20:07, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    https://github.com/mesalock-linux/mesalink - OpenSSL compatibility layer for the Rust SSL/TLS stack. Перекатываемся?
     
  • 1.7, DEF (?), 20:12, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как же достали эти уязвимости. Пора переходить на RusTLS.
     
     
  • 2.24, Аноним (2), 20:49, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Russian TLS?
     
  • 2.153, истина в последней инстанции (?), 20:42, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Этого никогда не случиться. Потому что вы его никогда не допишете.
     

  • 1.8, Аноним (8), 20:13, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А разве Rust защищает от переполнения буффера/числа?
     
     
  • 2.12, Аноним (9), 20:24, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Один из багов в FF показал, что в расте надо так же ручками проверять вхождение индекса в массив. Это про тот самый случай, когда растаманы перепутали знаки больше-меньше.
     
     
  • 3.21, Аноним (19), 20:42, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пруфы в студию.
     
     
  • 4.33, Аноним (9), 21:11, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    см. багтрекер Мозилы
     
     
  • 5.36, Аноним (19), 21:15, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хаха, что и требовалось ожидать. Ты только языком трепаться можешь.
     
     
  • 6.78, Аноним (78), 09:00, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не осиливаешь в поиск? Как ты вообще русский язык в прошлом году в 8-ом классе сдал?
     
  • 3.23, Анонн (?), 20:47, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А что происходит когда в расте ты таки обращаешься с массиву по неверному индексу?
    Тоже RCE получаешь, или прога просто паникует?
     
     
  • 4.34, Аноним (9), 21:12, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    в конкретно том случае всё делалось руками, в т.ч. кидание паники (неуместное, естественно, из-за перепутанного знака сравнения).
     
  • 4.79, Аноним (78), 09:00, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Число просто переполняется и становится отрицательным больше ничего интересного не происходит.
     
     
  • 5.88, Аноним (9), 09:50, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > больше ничего интересного не происходит

    интересное происходит ПОТОМ, когда оно используется в вычислении смещений...

     
  • 4.154, freecoder (ok), 23:27, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Смотря как обращаешься. Если вызываешь

    .get(i)

    то этот метод возвращает опциональный результат. Если используешь синтаксис с прямоугольными скобками, то будет паника. Если вызываешь

    .get_unchecked(i)

    то в случае выхода за границу произойдет UB (этот метод unsafe).
     
  • 3.47, Аноним (-), 23:41, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Один из багов в FF показал, что в расте надо так же

    Один из ветров показал, что они дуют, потому что деревья качаются.
    https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff;f=c...
    > ручками проверять вхождение индекса в массив. Это про тот самый случай,

    Это тот самый случай, когда местные экспертусы-ламерье палятся по полной.

     
  • 2.14, Rev (?), 20:32, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это одна из основных фитч, так-то.
     
     
  • 3.16, Аноним (9), 20:35, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    читай выше.
     
     
  • 4.64, Аноним (63), 07:02, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты же ссылку не привел, что читать?
    Твои больные фантазии?
     
  • 3.26, Аноним (8), 20:50, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что-то не работают основные фичи Тогда спрашивается чем debug mode от динамич... большой текст свёрнут, показать
     
     
  • 4.27, Анонн (?), 20:53, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Работают если знаешь как: ошибка будет логическая, а не порча памяти.
     
  • 2.40, Аноним (-), 22:28, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А почему ты объединяешь эти проблемы? Переполнение числа и переполнение буфера абсолютно раные вещи.
     

  • 1.10, anonymous (??), 20:19, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "от него кровопролитиев ждали, а он чижика съел". Ну и хорошо что так, зря только народ пугали таинственным эмбарго.
     
     
  • 2.71, ryoken (ok), 08:00, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>"от него кровопролитиев ждали, а он чижика съел"

    Салтыков-Щедрин, "Медведь на воеводстве". :)

     

  • 1.11, Самый умный из вас (?), 20:20, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хочешь не хочешь, а уже начинаешь верить в теории заговора, почему этот кусок критического г*вна не решились все же переписывать с нормальным проектированием и покрытием всевозможными тестами
     
     
  • 2.55, Аноним (53), 02:24, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Дорого... плюс конеретно этот кусок используют все подряд, в нем уже залатали все что только можно и нельзя... и баг только в 3-й версии (новой), и проводит только к DoS в серверных дистрибутивах.  
     
  • 2.56, Аноним (53), 02:26, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Иксы уже переписали... теперь имеется куча багов в новом модном wayland... решение которых очень простое, надо всего-лишь пользоватся иксами. 10 лет как делают, а все не готов.
     

  • 1.13, Аноним (13), 20:25, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пустозвимость, из-за которой задержали выпуск новой Федоры.
     
     
  • 2.72, ryoken (ok), 08:01, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    RawHide в помощь, и ваша Федора всегда будет настолько новой, что прям дальше некуда :D
     

  • 1.17, Аноним (17), 20:37, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну наконец-то libressl может похвастаться что хотя бы этой проблемы у них нет (правда, в любой древней версии ее точно так же нет)

     
     
  • 2.75, Аноним (74), 08:46, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вообще-то немало выявленных в OpenSSL уязвимостей не проявляются в LibreSSL. Обратное, кажется, всего один раз имело место.
     
     
  • 3.77, bOOster (ok), 08:58, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И это нам показывает реальное положение дел, что вообще много всяких помоев в Linux, невозможно в различных BSD.
     

  • 1.22, Аноним (19), 20:44, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ахаха, впрочем ничего нового.
    Фикс с ">" vs ">=" просто шикарен! И это в штуке, на которой пол-инета держится.
     
  • 1.30, Аноним (30), 21:08, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Дали сишнику два буфера: за один он вышел, а второму use-after-free сделал.
     
     
  • 2.37, Аноним (20), 21:25, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У Пети было 32 байта в буфере. 24 он отдал Маше, а оставшиеся 128 — Ване.
     
     
  • 3.38, Аноним (38), 21:54, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    у этой истории есть продолжение ... там где Петькины 24 байта застряли в Машкиных буферах.
     
  • 3.50, Онаним. (?), 23:57, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хочешь сказать у Вани буфера больше, чем у Маши?
     
  • 3.94, Аноним (9), 10:18, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > У Пети было 32 байта в буфере. 24 он отдал Маше, а оставшиеся 128 — Ване.

    Петя вставил данных Маше на 24, а Ване - на 128. На каком языке пишет Петя?

     
     
  • 4.121, Аноним (126), 16:06, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    скорее всего руби
     

  • 1.39, penetrator (?), 22:03, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В Ф36 будет пакет openssl-3.0.5-2.fc36, а не 3.0.7

    Получается что это бэкпорт, и кстати, пакет еще не готов, а CVE уже раскрыли.

     
     
  • 2.46, анонимус (??), 23:12, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пусть страдают!
     

  • 1.49, Онаним. (?), 23:56, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кросавчеги.
    У любителей тащить в рот сертификаты автоматом очко на минус уже наверняка сыграло.
     
     
  • 2.51, Онаним. (?), 23:58, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя там и клиентского будет достаточно. К счастью, дело ограничилось 4 байтами.
     
     
  • 3.86, Аноним (9), 09:46, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > дело ограничилось 4 байтами

    Эх, недоработали современные вебмакаки... В версии 4 сделают побольше переполнения.

     

  • 1.52, Аноним (52), 01:46, 02/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А нельзя как-то добавить в C типы данных вроде срез и проверять переполнение, а еще типы данных список, вектор и т.д.
     
     
  • 2.54, Аноним (53), 02:21, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем что-то добавлять оно уже давно есть, зовется с++.
     
     
  • 3.65, Аноним (63), 07:11, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Из с++ нужно как-то убрать сишные указатели на начало последовательности элементов которые они называют массивом. И указатель на начало последовательности char которые они называют строкой

    Например изобрести unsafe

     
     
  • 4.73, Аноним (73), 08:18, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    std::span
     
  • 4.76, Аноним (74), 08:53, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если для ваших задач не нужен именно C++, это не значит, что и всем остальным для их задач он тоже не подходит.

    Уж могли бы и сами догадаться, что терминологию в языке, появившемся почти сорок лет назад, никто для вашего душевного спокойствия менять не будет.

     
     
  • 5.83, Аноним (83), 09:39, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>> никто для вашего душевного спокойствия менять не будет <<<

    как говорится никогда не говорите никогда: master, slave, blacklist... и кто знает что они придумают ещё.

     
  • 5.93, Аноним (63), 10:15, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Причем здесь терминология? Паскаль например тоже больше 50 лет назад появился. Но там почему-то уже были настоящие строки с размером и настоящие массивы (а не указатели на начало) с границами.
     
     
  • 6.95, Аноним (63), 10:21, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А в С++ строки и вектора они появились только в стандарте C++ 2003
     
  • 6.96, Аноним (63), 10:24, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В 2012 на С++ еще в каждой крупной библиотеке еще изобретали свои строки вместо std:string
     
     
  • 7.99, Аноним (9), 10:50, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > изобретали свои строки вместо std:string

    Кутэ тому пример.

     
     
  • 8.120, Аноним (123), 16:04, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ладно qt, свои строки были даже в Ogre 3D и вроде бы wxwidget Ну вот зачем библ... текст свёрнут, показать
     
  • 8.131, Аноним (131), 18:48, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Когда Qt разрабатывали std string ещё небыло ... текст свёрнут, показать
     
  • 7.106, Аноним (107), 13:28, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это просто показывает насколько удобна, продумана и универсальна эталонная реализация в std
     
     
  • 8.133, Аноним (131), 18:50, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Или то насколько сложно перевести уже существующий продукт на новую библиотеку с... текст свёрнут, показать
     
  • 4.84, Аноним (9), 09:41, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > как-то убрать сишные указатели

    Очень простой рецепт: не используй указатели :)

     
  • 4.130, Аноним (131), 18:44, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем убирать? Просто не используй.
     
  • 2.81, iZEN (ok), 09:18, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Многого хотите - в Си ещё строки не определены в базовых типах. До сих пор пользуются последовательностью байтов, конец которой обозначается нулём, и алгоритмом маляра Шлемиля для определения конца и добавления новых данных.
     
     
  • 3.85, Аноним (9), 09:45, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А паскаль-то не так уж и плох, как его ругают сишники...
     
     
  • 4.150, Аноним (126), 16:14, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Просто в Паскале компилятор самолично высчитывает длину строки. А в Си компилятор не высчитывает длину строки, длину строки считает программсит.
     
     
  • 5.151, n00by (ok), 17:25, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На самом деле Си транслятор точно так же знает длину «строки» на этапе трансляции. Иначе он бы не смог бы разместить её в объектном файле.
     
  • 3.101, Ivan_83 (ok), 11:09, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что строки это синтаксический сахар.
    Есть только области памяти с данными, большего не надо.
     
     
  • 4.104, Аноним (9), 12:03, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > строки это синтаксический сахар

    Ошибаешься...

     
     
  • 5.149, Аноним (126), 16:12, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > строки это синтаксический сахар
    >>Ошибаешься...

    Он не ошибается. А твоё умозаключение приведёт тебя прямиком в ООП языки.

     
     
  • 6.155, Аноним (-), 02:00, 04/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    фу фу фу, не надо тогда нам этого сахара. сегодня сахарка поюзал, а завтра уже с женщинами спишь и об ооп думаешь. фуу гадость
     

  • 1.91, Аноним (63), 10:09, 02/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Уязвимость не стали признавать критической только потому что в ubuntu и redhat включили защиту стэка в настройках компилятора?
    Какое вообще отношение настройки компилятора имеют к уязвимостям в openssl?
     
     
  • 2.92, Аноним (9), 10:12, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Уязвимость не стали признавать критической только потому что в ubuntu и redhat

    И всё, точка.

     

  • 1.97, Аноним (63), 10:35, 02/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Лично мне кажется что чем больше выполняется проверок компилятором и статическим анализатором тем лучше.
    Органическая нейросеть работающая на химических реакциях и движении ионов, какой бы недостижимо большой она не была, всегда будет скована этой самой химической природой.
     
     
  • 2.98, Аноним (9), 10:48, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Органическая нейросеть работающая на химических реакциях и движении ионов, какой бы недостижимо большой она не была, всегда будет скована

    Теперь ты понимаешь, почему растаманы не смогли сделать очередной божественный язык?

     
     
  • 3.102, Аноним (123), 11:58, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    мне всё равно что там не смогли сделать "растоманы"
    в kotlin очень много проверок на стадии компиляции и меня это устраивает.
     
     
  • 4.103, Аноним (9), 12:02, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    софта на котлине - как на брейнфаке.
     
     
  • 5.117, Аноним (117), 14:30, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это ты так решил?
     
     
  • 6.127, Аноним (9), 17:16, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это котлята столько написали.
     
  • 5.119, Аноним (123), 16:00, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Значительная часть мобильных приложений для андроид, некоторые для ios через kotlin mmp и бэкэнд много где написан на котлине.

    Например в нашей организации мобильное приложение и часть биллинга, то есть больше чем среднестатистический opennet эксперт написал за всю свою жизнь.

     
     
  • 6.128, Аноним (9), 17:18, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Например в нашей организации

    В моей организации 100500 работников и 9000 манагеров - и никто котлин не использует.

     

  • 1.122, Аноним (-), 16:27, 02/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Переходим на bearssl! Долой выделение памяти!
     
  • 1.143, Аноним (143), 08:12, 03/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Братья сишники спасайте, мне что теперь, от телефона отказываться In Android, K... большой текст свёрнут, показать
     
     
  • 2.148, Аноним (63), 15:32, 03/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Переходить на iphone, там нет ненавистного местным экспертам раста
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру