как я понимаю, популярная для JAVA проектов либа для логирования имеет серьезную проблему, и теперь нужно перекомпилировать все существующие JAVA программы (включая всякие интегрейшн сервисы), которые это использовали, чтоб избавится от проблемы? я не знаю как все это получится сделать со всем множеством существующих легаси JAVA проектов, это морока даже для компаний с деньгами, и для компаний по-проще вообще беда. что думаете?
[quote="Den Brown"]как я понимаю, популярная для JAVA проектов либа для логирования имеет серьезную проблему, и теперь нужно перекомпилировать все существующие JAVA программы (включая всякие интегрейшн сервисы), которые это использовали, чтоб избавится от проблемы? я не знаю как все это получится сделать со всем множеством существующих легаси JAVA проектов, это морока даже для компаний с деньгами, и для компаний по-проще вообще беда. что думаете?[/quote] https://help.salesforce.com/s/articleView?id=000363736&type=1 Никогда не работали ни с Java ни с Log4j в частности, да и про проблему ничего толком не знаю, так как не мне ее решать, но мне даже стало интересно, что сложного в может быть в либе для логировнаия О_о
[quote="Maxim Elets"]Никогда не работали ни с Java ни с Log4j в частности, да и про проблему ничего толком не знаю, так как не мне ее решать, но мне даже стало интересно, что сложного в может быть в либе для логировнаия О_о[/quote] Очень все просто с этой проблемой и она крайне серьезная. Log4j ловит в логах сообщение определенного формата - типа ссылка на внешний ресурс, скачивает удаленный код и запускает его локально. То есть если я к примеру вместо своего username зарегаю специальную строку, то пиздец. Вот простой пример [youtube]https://www.youtube.com/watch?v=0-abhd-CLwQ[/youtube] Кстати крайне странно что такую явную дыру обнаружили только сейчас. Это ж просто находка для хацкеров. А возможно это глобальный заговор! :smiley:
Наши кстати сильно забомбили по этому поводу, но мы java не используем, кроме одного маленького места, но оно не светит наружу да и логи не особо ведет (по крайней мере про те что мы знаем). Но задача обновить уже стоит. А так конечно, если бы мы пилили все на java, то задачка по обновлению была бы посерьезнее. Вообще очень полезно обновлять зависимости в проектах, но довольно часто из этого случается боль. Поэтому я уже давно пришел к выводу (и даже есть целое движение по этому поводу) поменьше пихать сторонних либ в проекты и даже делать минимальную зависимость от самого фреймворка. Пример на пальцах - можно запилить API самому используя простые эндпоинты, а можно использовать специализированные фреймворки, которые нагенерят за вас кучу всего, и даже больше. В первом случае кода больше, но гемору меньше, так как весь код на ладони, во втором случае кодить меньше, но каждый шаг вправо-влево это боль - все скрыто внутри специализированного фреймворка. И как понимаете первый подход - чистый проект, второй куча зависимостей.
И что самое страшное каждая сторонняя либа тянет другие сторонние либы, и что там внутри никто не знает. Все на это просто положили. А ведь это давно известная проблема - особенно в мире фронтенда с его NPM. Там можно в свой ангуляр/реакт проект легко подцепить какой сниффер для инпутов, который будет логины/пароли/куки ваших пользователей сливать на сторону.
С Log4j случай кажется уникальным только из-за ее распространенности. А таких проблем вокруг море.