The OpenNET Project / Index page

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

Третья уязвимость в Log4j 2. Проблемы в Log4j затрагивают 8% Maven-пакетов

18.12.2021 23:36

В библиотеке Log4j 2 выявлена ещё одна уязвимость (CVE-2021-45105), которая в отличие от двух прошлых проблем, отнесена к категории опасных, но не критических. Новая проблема позволяет вызвать отказ в обслуживании и проявляется в виде зацикливания и аварийного завершения при обработке определённых строк. Уязвимость устранена в опубликованном несколько часов назад выпуске Log4j 2.17. Опасность уязвимости сглаживает то, что проблема проявляется только на системах с Java 8.

Уязвимости подвержены системы, использующие при определении формата вывода в лог контекстные запросы (Context Lookup), такие как ${ctx:var}. В версиях Log4j, начиная с 2.0-alpha1 и заканчивая 2.16.0, отсутствовала защита от неконтролируемой рекурсии, что позволяло атакующему через манипуляции со значением, используемым при подстановке, вызвать зацикливание, приводящее к исчерпанию места в стеке и аварийному завершению процесса. В частности, проблема возникала при подстановке таких значений, как "${${::-${::-$${::-j}}}}".

Дополнительно можно отметить, что исследователи из компании Blumira предложили вариант атаки на уязвимые Java-приложения, не принимающие внешние сетевые запросы, например, можно атаковать таким образом системы разработчиков или пользователей Java-приложений. Суть метода в том, что при наличии на системе пользователя уязвимых Java-процессов, принимающих сетевые соединения только с локального хоста (localhost), или обрабатывающих RMI-запросы (Remote Method Invocation, 1099 порт), атака может быть совершена JavaScript-кодом, выполняемым при открытии пользователем в браузере вредоносной страницы. Для организации соединения с сетевым портом Java-приложения при подобной атаке используется API WebSocket, к которому в отличие от HTTP-запросов не применяются ограничения same-origin (WebSocket также может использоваться сканирования сетевых портов на локальном хосте с целью определения имеющихся сетевых обработчиков).

Также интерес представляет опубликованные компанией Google результаты оценки уязвимости библиотек, связанных зависимостями с Log4j. По данным Google, проблема затрагивает 8% от всех пакетов в репозитории Maven Central. В частности, уязвимости оказались подвержены 35863 Java-пакетов, связанных с Log4j прямыми и косвенными зависимостями. При этом Log4j используется в качестве прямой зависимости первого уровня только в 17% случаев, а в 83% охваченных уязвимостью пакетов привязка осуществляется через промежуточные пакеты, зависимые от Log4j, т.е. зависимости второго и более высокого уровня (21% - второго уровня, 12% - третьего, 14% - четвёртого, 26% - пятого, 6% - шестого).

Темпы исправления уязвимости пока оставляют желать лучшего, через неделю после выявления уязвимости из 35863 выявленных пакетов проблема устранена пока только в 4620, т.е. в 13%. Внесение изменений в пакеты необходимо для обновления требований к зависимостям и замены привязок к старым версиям на исправленные версии Log4j 2 (в Java-пакетах практикуется привязка к конкретной версии, а не открытому диапазону, допускающему установкой самой свежей версии). В Java-приложениях устранение уязвимости затруднено тем, что часто программы включают в поставку копию библиотек и обновления версии Log4j 2 в системных пакетах недостаточно.

Тем временем, Агентство по кибербезопасности и защите инфраструктуры США опубликовало экстренную директиву, обязывающую федеральные агентства произвести определение информационных систем, подверженных уязвимости в Log4j, и до 23 декабря произвести установку обновлений, блокирующих проблему. До 28 декабря организациям предписано отчитаться о проделанной работе. Для упрощения выявления проблемных систем подготовлен список продуктов, в которых подтверждено проявление уязвимости (в списке более 23 тысяч приложений).

  1. Главная ссылка к новости (https://github.com/apache/logg...)
  2. OpenNews: Новый вариант атаки на Log4j 2, позволяющий обойти добавленную защиту
  3. OpenNews: 17 проектов Apache оказались затронуты уязвимостью в Log4j 2
  4. OpenNews: Критическая уязвимость в Apache Log4j 2, затрагивающая многие Java-проекты
  5. OpenNews: Критическая уязвимость в bash, которая может привести к удалённому запуску команд (shellshock)
  6. OpenNews: В Bash выявлено ещё четыре уязвимости, эксплуатируемые через переменные окружения
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56370-log4j
Ключевые слова: log4j
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (107) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:43, 18/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +41 +/
    Те, у кого по какой-то причине до сих пор нигде нет жавы во все щели, выдохнули. В очередной раз.
     
     
  • 2.21, Аноним (21), 03:45, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    По апач продуктам вообще не страдаю, не пользуюсь совсем.
     
     
  • 3.54, Аноним (54), 14:17, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Apache Kafka смеётся тебе в лицо!
     
     
  • 4.55, Аноним (55), 14:25, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Есть redpanda
     
     
  • 5.60, Брат Анон (ok), 18:32, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только у тебя. А у нас в далеко не мелкой конторе -- кафка.
     
     
  • 6.66, Заноним (?), 21:56, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Снимем шляпу, помянем.
     
  • 6.120, Аноним (-), 08:03, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А log4j у вас есть? Большому кораблю - большую торпеду!
     
  • 4.61, Аноним (21), 20:19, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Что за хрень и почему её у меня ещё нет?!
     
  • 2.26, Онаним (?), 07:07, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу. Пара аппликух есть, но всё Not Affected, судя по приведённому листу, да и во внешний мир они не смотрят.
     
  • 2.34, commiethebeastie (ok), 10:04, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У меня Ignition, правда он всё равно только через ssh доступен.
     
  • 2.39, Аноним (39), 10:49, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да успокойтесь. Не все используют log4j2, и не всех оно касается даже из тех, кто использует.
     
     
  • 3.62, Аноним (21), 20:25, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > не всех оно касается даже из тех, кто использует.

    "У меня нет дыры, у меня нет дыры...", - это такая новая молитва, что ли?

     
     
  • 4.94, Аноним (39), 17:36, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет. Здравый расчёт и понимание архитектуры своих приложений и используемых ими библиотек.
     
  • 2.114, жорик (?), 23:02, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ${${::-${::-$${::-j}}}}
     
  • 2.115, жорик (?), 23:02, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/



    ${${::-${::-$${::-j}}}}



     

  • 1.2, zloykakpes (ok), 23:46, 18/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ну логично, в принципе. После нахождения уязвимости каждый старается по максимуму накинуть вариаций, как бы ей воспользоваться. После всей этой истории log4j будет пуленепробиваемым с отличной базой тестов для QA.
     
     
  • 2.5, Аноним (5), 00:23, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +16 +/
    Спекулятивное выполнение уже стало пуленепробиваемым после всей той истори?
     
  • 2.31, Онаним (?), 09:48, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > После всей этой истории некоторые вариации так и останутся неопубликованными

    Fixed

     
  • 2.40, Аноним (39), 10:50, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > log4j будет пуленепробиваемым

    Или все плюнут на неё и просто будут использовать другой логгер. Благо, переходники с log4j на другие бакенды есть.

     
     
  • 3.121, Аноним (-), 08:04, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Отлично, а они эти чудные выражовывания реализуют? И если да, то они это секурно делают? :)
     
  • 2.52, all_glory_to_the_hypnotoad (ok), 13:33, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У log4j архитектор умственно отсталый, как и персонажи прикатывающие этот хлам себе в проекты. Потому не станет
     
     
  • 3.58, Аноним (-), 17:01, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    покажи свой неумственноотсталый log4j
     
     
  • 4.64, Аноним (21), 20:41, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Сначала добейся!" (с)
     
  • 4.78, Наме (?), 11:31, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что нужно стараться делать в рамках кодовой базы SE или ЕЕ, а не тянуть всякую хваль. Есть JUL. Он дубовый и простой. Он входит в стандартную библиотеку и его оперативно фиксят. Вот его и стоит использовать, а не всяких хлако-спринг с кучей индусятины в зависимостях.
     
  • 4.99, andy (??), 21:03, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    syslog, слушает 514/udp, если rsyslog, то еще и tcp можно настроить, для гарантированной доставки. Не благодари.
     

  • 1.3, Аноним (3), 23:55, 18/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +19 +/
    Астрологи объявили неделю уязвимостей Log4j
     
     
  • 2.4, x3who (?), 00:22, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    астрологи из DARPA наверное
     

  • 1.6, Аноним (6), 00:31, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хороший однако ящик Пандоры открыли в этом году
     
     
  • 2.9, Аноним (21), 00:41, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в этом году

    Кто сказал, что им не пользовались в предыдущих годах?!

     
     
  • 3.24, Аноним (24), 04:36, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так открыли то в этом
     
     
  • 4.28, Аноним (21), 08:15, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Так сказать, уведомили, что давно вертели вас на.
     
  • 2.80, Наме (?), 11:33, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Майки выкатили кор 6, им нужно потолкаться на уже сложившемся рынке. Вот и "открыли" протухшие консервы.
     
     
  • 3.110, Аноним (110), 13:39, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как консервы могут протухнуть? Они же закрыты от внешней среды
     

  • 1.7, Аноним (7), 00:39, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    С нормальными политиками fw исходящего траффика с продакшена риски можно заметно снизить.
    Костыль до нормального патча всех проектов.
     
     
  • 2.47, Аноним (47), 11:41, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Почти всегда DNS-трафик разрешен, т.к. нужен. Пихаешь данные в base64 и отправляешь на свой поддомен, который обслуживает твой DNS сервер.
    Как от этого защититься fw? Мне кажется, никак. Тут только какие-то хитрые IPS/IDS с анализом интенсивности трафика или сигнатурами по определенной структуре запросов. Или вы про первичное выкачивание java-класса?
     
     
  • 3.57, Аноним (7), 15:09, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Правильно настроенный fw не ограничивается tcp/udp портами in/out.
    Все пихания данных по DNS через base64 это огромное кол-во TXT запросов с хоста в дмз, которые так же
    нужно резать. Все крупные IPS это умеют уже с начала 10х годов, можно загуглить "block dns tunneling"
     
  • 3.81, Наме (?), 11:34, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    JNDI-запрос это не DNS-запрос.
     
     
  • 4.87, MVK (??), 13:01, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >JNDI-запрос это не DNS-запрос

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

     

  • 1.10, Аноним (10), 00:57, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    а что это за   Log4j  ?
     
     
  • 2.12, iZEN (ok), 01:30, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Log4j — сторонняя библиотека логирования. В самой Java JRE/JDK есть собственная библиотека логирования, которая менее подвержена уязвимостям.
     
     
  • 3.86, Наме (?), 12:41, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спринг использует логфоджи в зависимостях.
     
     
  • 4.96, Аноним (96), 19:33, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сам Спринг (spring-core) зависит от JCL, а в Spring Boot (spring-boot-starter-logging) по дефолту Logback.
     
  • 2.22, Аноним (21), 03:47, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Библиотека для троянов. Это надо же наумиться надо было разыменовывать внешние строки...
     
  • 2.123, A.N. Onimous (?), 22:38, 26/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Leftpad
     

  • 1.11, Аноним (11), 01:24, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужно валидировать данные которые записываешь в лог!
    А ещё нужно делать обесклычивание, как советуют местные эксперты.
     
     
  • 2.23, Аноним (21), 03:49, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Давным-давно в телеграммах писали так: "приеду завтра зпт встречайте тчк". Это так, для намёка современным индусам.
     
     
  • 3.111, Аноним (11), 14:25, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тчк/зпт использовалось не потому что программисты индусы и не хотят записи в лог валидировать, а из за сложности переключения страниц в телеграфе

    Написать такой логер в котором выполнение произвольного кода, это надо какую-то особую форму гениальности иметь

     
  • 2.68, Аноним (68), 03:41, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И какая там валидация должна быть? Нужно было код библиотеки прочитать и понять, что надо удалять хитрожопые подстановки, но тогда логика библиотеки перетечет в логику валидации. Вывод тут простой: библиотека логирования делала по умолчанию то, чего не должна была делать.
     

  • 1.14, Wilem82 (ok), 02:14, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    > Опасность уязвимости сглаживает то, что проблема проявляется только на системах с Java 8.

    "Сглаживает"? Это как бы основная версия жавы в продакшене. В жаве 9 сломали обратную совместимость так сильно, что многие до сих пор мигрировать не могут.

     
     
  • 2.15, Тинус Лорвальдс (ok), 02:28, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    кто в трезвом уме и здравой памяти будет переводить прод на java 9?
     
     
  • 3.16, Wilem82 (ok), 02:38, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > кто в трезвом уме и здравой памяти будет переводить прод на java 9?

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

    Плюс сами библиотеки могут заканчивать поддержку старых версий жавы. Мир-то тоже не стоит на месте.

     
     
  • 4.119, Тинус Лорвальдс (ok), 18:39, 22/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> кто в трезвом уме и здравой памяти будет переводить прод на java 9?
    > Её поддержка уже один раз чуть не закончилась. Но она таки когда-нибудь
    > закончится. Кому-то это может по-барабану, но большие конторы так не могут
    > - они обязаны соблюдать определённые правила. Например о том, что должна
    > быть поддержка - используемые библиотеки должны официально поддерживаться, то есть для
    > них выпускаются патчи при обнаружении проблем и всё такое.
    > Плюс сами библиотеки могут заканчивать поддержку старых версий жавы. Мир-то тоже не
    > стоит на месте.

    с каких пор поддержка джавы 9 не закончилась? она закончилась с выходом джавы 10.

     
  • 2.17, Аноним (17), 02:40, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ни разу не было проблем с миграцией на LTS. На Java 11 все отлично мигрируется.
     
     
  • 3.18, Wilem82 (ok), 02:51, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > На Java 11 все отлично мигрируется.

    Что такое "отлично"? Это когда ничего делать не надо, просто заменяешь 8 на 11 и всё само работает? Или всё-таки приходится обновлять мажорные версии зависимостей - спринга, гибера и прочего?

     
     
  • 4.19, Вася (??), 03:01, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Отлично от миграции с 2 на 3 питон проекта сложнее Hello World.
     
  • 4.30, zog (??), 09:14, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Мы уже на Java 17 перешли, но нам проще, поскольку проект новый. А вы активно используете Unsafe и прочие вещи JVM, которые лишь для внутреннего использования?
     
     
  • 5.56, Wilem82 (ok), 15:08, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > А вы активно используете Unsafe и прочие вещи JVM, которые лишь для внутреннего использования?

    При чём тут "мы"? Этим всем пользуются популярные библиотеки. Перестают они этим пользоваться только в новых версиях, зачастую мажорных, ломающих обратную совместимость. Поэтому переход на J9+ тянет за собой огромные затраты по миграции чуть ли не всех библиотек на новые версии с переписыванием кода, а некоторые библиотеки вообще не имеют версии для J9+, поэтому приходится их выкидывать и переписывать код ранее от них зависящий.

    Если у вас новый проект, то вы не "перешли" на J17, т.е. переходить не с чего - проект новый.  "Переход" имеет смысл в контексте уже существующего проекта, завязанного на J8, и таких проектов с 20-, 15-, 10-ти летней историей и кучей старого кода - навалом.

     
     
  • 6.90, Аноним (90), 13:18, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Можете привести пример таких экзотических библиотек? Что-то мне ни разу такие не попадались. Или это самописные?
     
     
  • 7.118, Wilem82 (ok), 17:58, 22/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Можете привести пример таких экзотических библиотек? Что-то мне ни разу такие не
    > попадались. Или это самописные?

    Экзотические библиотеки с обратной несовместимостью при смене мажорной версии:

    https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-F

    Плюс все зависимости которые в связи с этим надо тоже обновить.

    Плюс ещё одна экзотическая, самописная библа "Hibernate", и так далее.

    Не говоря уже о том, что начиная с J9, из stdlib физически удалили некоторые API.

     
  • 4.89, Аноним (90), 13:15, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там всего несколько мест на самом деле которые поменялись и могут сломать системы, например поведение Set когда не найден элемент. Если их не использовать активно, то все ок. И если какие-то библиотеки используют module, то придется дать права старому кода на доступ к внутренностям (но это уже болье вина самих библиотек чем приложения). Ну и еще нужно проверить поведение зависимостей. В остальном если не на проекте не увлекались экзотическими функциями, то переход делается сменой номерков с 8 на 11.
     
  • 3.82, Наме (?), 11:36, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да-да-да. Эталонные JEE работают только на 8-ке.
     
     
  • 4.88, MVK (??), 13:05, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Эталонные JEE работают только на 8-ке

    - это Вы книге какого года издания прочли?

     
     
  • 5.93, Наме (?), 15:36, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пятая Рыба работает стабильно только на 8-ке. Для этого и книг никаких не надо.
     
     
  • 6.98, MVK (??), 20:47, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Пятая Рыба работает стабильно только на 8-ке

    - дружище, зачем пятая то? Eclipse GlassFish 6.2.3 - вышел в ноябре и с версии 6.1 поддерживает Java 11. А можно и WildFly качнуть, он тоже давно Java 11 поддерживает (WildFly 24 и на Java 17 может)

     
  • 6.103, Аноним (-), 23:15, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    GlassFish был эталоном 10 лет назад на сановских наработках. Но зачем его сейчас то использовать?.... Оракл там на развитие ресурсы почти не выделяет.
     
     
  • 7.106, Наме (?), 10:08, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Рыбы как были эталонной реализацией, так ею и остаются. 6-тая ветка пока не стандартизирована. Поэтому 5-ка до сих пор актуальна. Это для тех, кто не хочет вот таких вот... сюрпризов. Для прочих -- есть спринг.
     
     
  • 8.109, MVK (??), 11:31, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    - брехня какая то jakarta ee compatibility tab-9 И 6й GlassFish и WildFly 23 п... текст свёрнут, показать
     
  • 8.116, Аноним (-), 11:17, 22/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А при чём здесь Spring В Spring Boot по-умолчанию log4j не используется А вот ... текст свёрнут, показать
     

  • 1.20, Аноним (21), 03:43, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > зацикливание ... "${${::-${::-$${::-j}}}}"

    Растаманы, где вы?! Как это починить самым безопасным языком в мире?

     
     
  • 2.25, Cucumber (?), 06:43, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У растоманов шаблоны падают на этапе копиляции, а не в продакшене.
     
     
  • 3.27, Аноним (21), 08:13, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Потому-то они ничего написать не могут...
     
  • 3.29, Andrey (??), 08:24, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    У растоманов логи с продакшена собираются на этапе компиляции. :)
     
  • 2.32, Аноним (11), 09:55, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Няша, ты ещё регулярные выражения не видел.
    А как увидишь, сразу седым станешь.
     
     
  • 3.33, Аноним (11), 09:57, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И в регулярных выражениях тоже могут быть зацикливания
     
  • 3.122, Аноним (-), 08:05, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!

    p.s. это не то что вы подумали, это - для регулярок.

     
  • 2.38, Прохожий (??), 10:39, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И вам доброго утречка, Евгений Ваганович.
     

  • 1.35, Аноним (35), 10:16, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    кто может толково объяснить  почему этот log4j все пытаются патчить, а не заменят на что-нибудь другое?
     
     
  • 2.37, Прохожий (??), 10:37, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что пропатчить дешевле, чем заменить. Ваш Кэп.
     
     
  • 3.41, Аноним (21), 10:53, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > пропатчить дешевле

    пока не получается - всё новые и новые дыры получаются.

     
  • 3.45, Аноним (45), 11:38, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    По десять раз накатывать это шерето и оно до сих пор уязвимо. Там уже украли всю инфу какую можно было украсть.  
     
  • 2.42, Аноним (39), 10:53, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что не в курсе, что есть адаптеры на другие логгеры - http://logback.qos.ch/manual/migrationFromLog4j.html . Ну и личная упоротость разработчиков.
     
  • 2.67, Ordu (ok), 01:22, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я могу объяснить.

    1. Я сомневаюсь, что _все_ пытаются патчить, _вместо_ того, чтобы переползать.

    2. Те, кто решил переползать закончат этот процесс ещё не скоро. Это может занять до полугода. И что ты им предложишь? Не патчить и жить с дырявым? Или уйти в оффлайн на это время?

    3. log4j может использоваться депендансом, или несколькими. Так что мало свой код увести от lod4j, надо и чужой тоже.

    4. Со временем дыры залатают. И когда это случится, вот сядут разрабы и задумаются: а собственно нахрена мы переползали?

    5. Я читал мнение в интернете, что по-крайней мере первая дыра с ldap существовала благодаря обратной совместимости. Может разрабы log4j переосмыслят свой подход к обратной совместимости, перепилят синтаксис форматной строки, отломав оттуда 90% финтифлюшек, оставят ровно столько функционала, чтоб не более 5% зависимых проектов заметило бы изменение, и для этих 5% приделают опцию сборки "enable-deprecated-format-string"?

    Короче, ещё рано делать выводы о том, отказывается ли кто-то или нет, и стоит ли овчинка выделки.

     
     
  • 3.72, Аноним (21), 08:17, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > переползать ... Это может занять до полугода

    А, может, надо не переползать, а бежать? Тогда быстрее будет. Были времена, когда за год писали язык программирования + ось. Сейчас же программисты умеют только ползать от дыры к дыре.

     
     
  • 4.77, Ordu (ok), 10:37, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> переползать ... Это может занять до полугода
    > А, может, надо не переползать, а бежать? Тогда быстрее будет.

    Тебе нужна стабильность или скорость? Тут ситуация такая, что чем быстрее бежишь, чем дольше выходит. Программирование требует от программиста, чтобы тот _думал_ _головой_. А мышление требует времени. Те кто бежит -- те не думают, они пытаются решить проблему брутфорсом. Это работает ровно до тех пор, пока оно не перестаёт работать, и вот после этого уже не остаётся никакого выбора, кроме как выкинуть результат и начать заново.

    > Были времена,
    > когда за год писали язык программирования + ось.

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

     
     
  • 5.108, Наме (?), 10:35, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошее ПО это прежде всего про деньги, а не про думающих программистов. Про очень большие деньги и длительные циклы возврата инвестиций. Т.е. хорошее ПО в нынешних экономических реалиях невозможно хотя бы по экономическим причинам.
     
  • 2.83, Наме (?), 11:42, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Причина простая. Увы, большинство крупных проектов на Жабе, мягко скажем, крайне сложны своей бессистемностью и объёмом. Народ массово и бездумно использует чужой код, благо тянуть его через maven очень просто. Хвост зависимостей более-менее развитого проекта очень уж разухабист, а чаще всего в проекте просто нет людей, которые бы хоть как-то себе представляли весь "масштаб бедствия".
     
     
  • 3.104, Аноним (-), 23:19, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В любом более-менее современном пакетном менеджере для Java очень легко вырезать ненужные зависимости. И даже полная перепаковка со сборкой нужных классов для Java не проблема. log4j2 заменяется переходником на slf4j, и всё. В том то и дело, что проблема очень странная. Зачем так держаться за log4j2? Кто использует какие-то фичи из него, которых не хватает в slf4j?
     
     
  • 4.107, Наме (?), 10:17, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть, но по-моему, не меняется он легко в проекте, которому лет дцать, и у которого за это время группа разработки менялась сто раз. Это адский гемор.
    В любом "пакетном менеджере" )))) Это в каком же? Везде maven. Вы знаете ещё какие-то? У шибко продвинутых bnd. Где-то в пыли gradle и ant.
     
     
  • 5.112, Аноним (39), 19:11, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    gradle, maven, sbt, ivy, ... Откройте maven search и посмотрите - https://search.maven.org/artifact/org.springframework/spring/5.2.19.RELEASE/po

    И да, если в maven что-то сделать - это ужас-ужас, то в gradle чужие зависимости исключаются простым exclude. Как, впрочем, и миграция с maven на gradle в большинстве случаев проблем не вызывает. Но если вам нравится садомазо, то технически можете и в maven поправить.

     
     
  • 6.113, iZEN (ok), 19:18, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > gradle, maven, sbt, ivy, ... Откройте maven search и посмотрите - https://search.maven.org/artifact/org.springframework/spring/5.2.19.RELEASE/po
    > И да, если в maven что-то сделать - это ужас-ужас, то в
    > gradle чужие зависимости исключаются простым exclude.

          <exclusions>
            <exclusion>  <!-- declare the exclusion here -->
              <groupId>sample.ProjectB</groupId>
              <artifactId>Project-B</artifactId>
            </exclusion>
          </exclusions>


    > Как, впрочем, и миграция с
    > maven на gradle в большинстве случаев проблем не вызывает. Но если
    > вам нравится садомазо, то технически можете и в maven поправить.

    Можем использовать == используем. Садомазо с Gradle сами занимайтесь.

     
     
  • 7.117, Аноним (-), 11:21, 22/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    configurations.all {
        exclude group: "log4j", module: "log4j"
    }

    PS: нравится XML-программирование - пользуйтесь. Обычно люди хотят иметь удобный и надёжный инструмент....

     

  • 1.49, Аноним (49), 13:19, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ${${::-${::-$${::-j}}}})))))
     
     
  • 2.51, Аноним (51), 13:28, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    толстый троллинг
     
  • 2.63, Аноним (63), 20:30, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|'{;;y; -/:-@[-'{-};'-{/" -;;s;;$_;see'
     
     
  • 3.65, xrensgory (?), 21:14, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    [:||||||||||:]
     

  • 1.59, pda (ok), 18:05, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот это и есть opensource эффект миллиона глаз. В популярном пакете нашлась дыра и все на хайпе ринулись копать - что там есть ещё. :)
     
     
  • 2.69, Аноним (69), 07:45, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что-то из серии "Как за дешево провести аудит безопасности"
     

  • 1.70, Аноним (70), 08:11, 20/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кто конкретно внёс указанную уязвимость? С современными системами контроля версий выяснить это не составляет труда. Почему старательно обходятся вопросы персональной ответственности разработчика? Или лицензия на этот самый Log4j не даёт возможность привлекать разработчиков? Тогда почему сотни проектов используют код, за который никто и никак не отвечает? Всё это очень странно.
     
     
  • 2.71, Аноним (21), 08:13, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты даже и MS не привлечёшь, таков путь.
     
  • 2.75, Аноним (75), 10:04, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А почему ты обходишь такой вопрос что ты можешь сам поиском найти коммиты и во всеуслышание всем написать имя виноватого? Неужели мировая закулисья добралась и до тебя?
     

  • 1.73, Аноньимъ (ok), 08:20, 20/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >защита от неконтролируемой рекурсии

    Похоже я узнал о существовании чего-то о чём мне не стоило знать.

     
     
  • 2.76, Аноним (75), 10:07, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да факт существования такой защиты это секрет. Не стоит вскрывать эту тему. Ты молодой, шутливый, тебе все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, ты будешь жалеть. Лучше закрой тему и забудь, что тут писалось. Я вполне понимаю, что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.
     
  • 2.79, Sw00p aka Jerom (?), 11:32, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    глубина рекурсии
     

  • 1.74, Аноним (74), 09:06, 20/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Наверное еще и логи бинарные у этого говна.
     
     
  • 2.84, Аноним (84), 11:51, 20/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Бинарные?! Это ущемляет интересы меньшинств!
     
  • 2.105, Аноним (21), 00:56, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > логи бинарные

    Как не стыдно такое говорить! Логов - множество разновидностей: гомонарные, лезбинарные, транснарные...

     

  • 1.85, Аноним12345 (?), 12:40, 20/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Жаба уже никогда не будет прежней
     

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



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

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