log4shell
Новость про log2j jndi lookup не вмещается в голове. Точно так же не вмещается "фикс" и освещение в СМИ. Тысячи обезьян кидаются какашками "джава дырявая", "пол-интернета хакнуто", "энтерпрайз кодинг гыгы."
Во-первых, фундаментально, с какой стати ПАРАМЕТРЫ (не шаблон!) вывода интерпретировались? Что это за бред? Когда это придумали? Сейчас все носятся с JNDI. Но подождите, там есть куча прочих ресолверов -- например env: и привет пароли по 12factor. Такой код просто не объяснить "ошибкой", это надо было специально реализовывать и тестировать.
Во-вторых, КТО. Все как-то орут "а, log4j уязвимость!" Ни в одной из "аналитических" статей не написаны дата-автор-ревьюеры коммита. Дело не в JNDI, а в архитектуре. НИКОГДА параметры вывода не должны интерпретироваться. Сказали LOG.debug("{}", "\n\0${PASSWORD}") -- так и должно пойти, без эскейпов.
Этих людей надо опубликовать, допросить под присягой на предмет "откуда дурь взялась", проверить банковские приходы и покупки в полгода до и после, составить список куда они ещё коммитали и всё проверить. Выяснить, кто апрувнул их участие в проекте.
В-третьих, откуда сама дичь про использование JNDI / LDAP. Как конфиг решение, лдап мне нравится, но так не делает практически никто -- тот же Spring Boot тянет свой хттп конфиг сервер, хипстеры тянут свой etcd, пароли дают через секретс АПИ, ораклы всё всегда в БД, микрософт в реестре... LDAP server для хранения конфига прилаги? Не слышал.
"Уши" торчат настолько отчётливо, что весь хайп выглядит как "АНБ обосратушки, дыру словили, давайте заболтаем тему для дураков".
Во-первых, фундаментально, с какой стати ПАРАМЕТРЫ (не шаблон!) вывода интерпретировались? Что это за бред? Когда это придумали? Сейчас все носятся с JNDI. Но подождите, там есть куча прочих ресолверов -- например env: и привет пароли по 12factor. Такой код просто не объяснить "ошибкой", это надо было специально реализовывать и тестировать.
Во-вторых, КТО. Все как-то орут "а, log4j уязвимость!" Ни в одной из "аналитических" статей не написаны дата-автор-ревьюеры коммита. Дело не в JNDI, а в архитектуре. НИКОГДА параметры вывода не должны интерпретироваться. Сказали LOG.debug("{}", "\n\0${PASSWORD}") -- так и должно пойти, без эскейпов.
Этих людей надо опубликовать, допросить под присягой на предмет "откуда дурь взялась", проверить банковские приходы и покупки в полгода до и после, составить список куда они ещё коммитали и всё проверить. Выяснить, кто апрувнул их участие в проекте.
В-третьих, откуда сама дичь про использование JNDI / LDAP. Как конфиг решение, лдап мне нравится, но так не делает практически никто -- тот же Spring Boot тянет свой хттп конфиг сервер, хипстеры тянут свой etcd, пароли дают через секретс АПИ, ораклы всё всегда в БД, микрософт в реестре... LDAP server для хранения конфига прилаги? Не слышал.
"Уши" торчат настолько отчётливо, что весь хайп выглядит как "АНБ обосратушки, дыру словили, давайте заболтаем тему для дураков".
no subject
мохнатый 2013, китаец, бредовый юзкейс...
Assignee:
Unassigned Unassigned
Reporter:
woon_san Woonsan Ko
Ralph Goers added a comment - 18/Jul/13 19:48
Your patch was committed in revision 1504620. Please verify and close.
core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
и всё-таки, интерполяция в параметрах...?
no subject