Healer
Healer - мод для Minecraft Forge 1.7.10-1.12.2, который чинит критическую уязвимость Log4Shell (CVE-2021-44228). Простое решение для старых версий, если лаунчер или Mojang не применили патч.
Healer - это мод для Minecraft Forge, который латает дыру в безопасности под названием Log4Shell (CVE-2021-44228). Актуально для версий Майнкрафт с 1.7.10 по 1.12.2. Если ты играешь на старых сборках модов и твой лаунчер не обновлялся - этот мод может спасти твой комп от удаленного взлома.
В чем суть проблемы
Log4Shell - уязвимость в библиотеке Log4j, которая используется в Minecraft Forge. Злоумышленник мог через чат или сервер отправить специально сформированное сообщение и выполнить свой код на твоем компе. Звучит страшно, и так оно и есть. Mojang выпустила патч для современных версий, но старые сборки остались незащищенными.
Как Healer это чинит
Мод использует рефлексию (JNDI lookup из Interpolator) и заменяет LoggerContextFactory. По факту, он перехватывает все загрузки LoggerContext после своего запуска и блокирует любые попытки эксплуатировать логгеры. Технически - он просто не дает библиотеке обрабатывать опасные запросы.
Для кого это нужно
- Обычные игроки, которые до сих пор играют на версиях 1.7.10 или 1.12.2
- Владельцы серверов, которые не хотят заморачиваться с ручным патчем log4j2.xml
- Создатели сборок модов для старых версий
Совместимость
Healer тестировался на 1.7.10 и 1.12.2. Работает только с Forge. Если у тебя есть моды, которые сами лезут в настройки логирования (например, ForgeEssentials), Healer это тоже учитывает - он откладывает свой патч на поздний этап загрузки, пока другие моды не завершат свои настройки.
Если вдруг вылезают ошибки вроде ClassCastException: cannot cast XXXXXXXX to org.apache.logging.log4j.core.impl.Log4jContextFactory - значит какой-то мод конфликтует. Можно добавить в JVM-аргументы -Dnet.glease.healer.patch_stage=XXXX, где XXXX поменять на PRELOAD, PREINIT, INIT или POSTINIT. Обычно хватает PREINIT, POSTINIT решит все проблемы.
Важно знать
- Если твой лаунчер типа MultiMC уже применил патч - ставить Healer не надо.
- Если у тебя стоит FoamFix для 1.7.10 - тоже, патч там уже есть.
- Если используешь другой фикс-мод - уточни у автора, перехватывает ли он логи после загрузки. Если нет - замени его на Healer.
В общем, для старых сборок на Forge это must-have, если ты не уверен в безопасности своего лаунчера. Скачать мод Healer и установить его так же просто, как и любой другой мод - кинуть в папку mods и запустить игру.