LINUX.ORG.RU

Катастрофическая уязвимость в Apache Log4j, затрагивающая многие Java-проекты

 , ,


0

3

Доброго времени суток

Тут внезапно появилась огромная жопа, надо исправлять. Если кому не лень, запилите новость

https://www.opennet.ru/opennews/art.shtml?num=56319

В Apache Log4j, популярном фреймворке для организации ведения логов в Java-приложениях, выявлена критическая уязвимость, позволяющая выполнить произвольный код при записи в лог специально оформленного значения в формате «{jndi:URL}». Атака может быть проведена на Java-приложения, записывающие в лог значения, полученные из внешних источников, например, при выводе проблемных значений в сообщениях об ошибках.

★★★★★

На относительно современных JVM по дефолту не работает, паниковать не надо. На древних версиях log4j2 скорей всего тоже. Чтобы работало, надо запускать JVM с флажком -Dcom.sun.jndi.ldap.object.trustURLCodebase=true, который вряд ли многим нужен.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 3)
Ответ на: комментарий от Legioner

Там довольно мутная история с тем на каких комбинациях JVM/log4j она проявляется, думаю лучше обновить везде чтобы не рисковать.

maxcom ★★★★★
()

я вот сейчас портирую к себе QuickJS и офигеваю с багов

quickjs.c:20350 и далее.

        if (p >= s->buf_end)
            goto invalid_char;
        c = *p;
        if (c < 0x20) {
            ...
            if (sep == '`') {
                if (c == '\r') {
                    if (p[1] == '\n')//хоба за пределы буфера
                        p++;
                    c = '\n';
                }
            } else if (c == '\n' || c == '\r')
                goto invalid_char;
        }
        p++;
        if (c == sep)
            break;
        if (c == '$' && *p == '{' && sep == '`') {
                      //и еще раз за пределы буфера
            /* template start or middle part */
            p++;
            break;
        }
        if (c == '\\') {
            c = *p; //Бог троицу любит, 
                    //поэтому еще раз за пределы буфера

три раза потенциально за пределы буфера сходили на ровном месте. так что ничего удивительного в багах таких нету. шерето на самом деле много где встречается.

salozar
()
Ответ на: комментарий от salozar

Если s->buf_end указывает на завершающий \0, то никакого переполнения не будет.

u-235
()

Java с самого своего создания была решетом, ее даже в браузерах запретили ещё раньше, чем flash. Можно ли было ожидать чего-то иного?

anonymous
()

Им пользуются полтора землекопа. В самой JRE есть собственный фреймворк логирования.

iZEN ★★★★★
()
Ответ на: комментарий от anonymous

Java с самого своего создания была решетом

Ты что-то путаешь, братец. Может попутал JavaScript с Java?

запретили ещё раньше, чем flash.

Апплеты Java были гораздо безопаснее дырявого Flash.

Перестали использовать потому, что смузихлёбы не воспринимали панель приложения на Web-странице - это у них вызывало когнитивный диссонанс: «Как это умудриться запихнуть формочку с кнопочками из десктопа в браузер? Не, такое никому не надо - уберём».

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

Им пользуются полтора землекопа. В самой JRE есть собственный фреймворк логирования.

Очень давно не видел чтобы его кто-то использовал. Видел во времена JSP, J2EE и прочих ужасов энтерпрайза. Кстати то что навеки поселилось в JRE это пререлизная версия log4j.

maxcom ★★★★★
()
Ответ на: комментарий от iZEN

Вот не надо. Про безопасность не скажу. И даже идея была неплохая. Но вот реализация очень неудачная

Перестали использовать потому

Что работает это чудо в ограниченном диапазоне версий jre. И это реально задалбывает - держать три браузера (с плагином 1.4, 6 и 8) в контейнерах для работы с разным железом. Сдохли жабаапплеты в браузере - и хвала всем богам. И плюс отдельные разработчики (не будем показывать пальцем на ibm) ухитрялись прибивать свои java приложения к винде, так что часть функций rsa работала только в оффтопике

router ★★★★★
() автор топика
Последнее исправление: router (всего исправлений: 2)
Ответ на: комментарий от iZEN

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.