Oxygen-log4j-patcher - A tool that upgrades the log4j from an Oxygen installation to version 2.16

Overview

Oxygen XML Patch Tool for Apache Log4j vulnerability CVE-2021-44228, CVE-2021-45046 and CVE-2021-45105

This is a tool that updates the log4j version 2 library to version 2.17 in an:

  • Oxygen XML Editor/Author/Developer standalone installation, or
  • Oxygen XML Editor/Author/Developer plugin for Eclipse installation, or
  • Oxygen PDF Chemistry installation, or
  • Oxygen Publishing Engine installation, or
  • Oxygen XML Web Author for "all platforms" installation

The recommended Oxygen versions to apply this tool on range from 16.1 to 24.0 inclusive.

For newer Oxygen versions, like 22.1, 23.1 or 24.0 there are kits available on the Oxygen website that contain the log4j 2.16 library (resolves CVE-2021-44228 and CVE-2021-45046), at https://www.oxygenxml.com/software_archive.html and https://www.oxygenxml.com/download.html respectively.

It will not work for Web Author or Content Fusion. For these please see the security advisory at https://www.oxygenxml.com/security/advisory/CVE-2021-44228.html to determine the appropriate action. For Oxygen XML Content Fusion you should use this script: https://github.com/oxygenxml/content-fusion-log4j-patcher

Download

You can download the tool directly from GitHub, using this link. https://github.com/oxygenxml/oxygen-log4j-patcher/archive/refs/heads/main.zip

Unzip it to a directory of your choice. Keep track of the directory where you have unzipped the file.

How to apply it

On Windows:

  1. Make sure the Oxygen application is closed.
  2. Start a "Command Prompt" window with administrative privileges. For this press the "Start" button, type cmd, then choose "Run as administrator" from the menu.
  3. Change directory to the directory of the 'patch.bat' file. For example, if you extracted the archive in your 'Downloads' folder, type cd %USERPROFILE%/Downloads/oxygen-log4j-patcher-main in the "Command Prompt" window and press ENTER.
  4. Type patch.bat in the "Command Prompt" window and press ENTER.
  5. Follow the instructions given by the script.

On Mac:

  1. Make sure you run as an user with administrator privileges.
  2. Change directory to the directory of the 'patch.sh' file. (cd /Users/user/Downloads/oxygen-log4j-patcher-main for instance )
  3. Type sh patch.sh in the terminal and press ENTER.
  4. Follow the instructions given by the script.

On Linux:

  1. If the Oxygen application has been installed as a superuser, then type in a terminal: "sudo -s" in order to open a terminal with enough rights.
  2. Change directory to the directory of the 'patch.sh' file. (cd ~/Downloads/oxygen-log4j-patcher-main for instance )
  3. Type sh patch.sh in the terminal and press ENTER.
  4. Follow the instructions given by the script.

Limitations:

  1. For Oxygen XML Web Author, the patch won't affect custom data directory and custom DITA-OT directory if they are out of the installation directory.
Comments
  • patcher fails with could not find or load main class on Mac for Eclipse plugin

    patcher fails with could not find or load main class on Mac for Eclipse plugin

    Eclipse Eclipse IDE for Java Developers (includes Incubating components) Version: 2021-12 (4.22.0) Build id: 20211202-1639 OS: Mac OS X, v.10.16, x86_64 / cocoa Java vendor: Oracle Corporation Java runtime version: 14.0.2+12-46 Java version: 14.0.2

    Using this plugin folder location: /Users/<user>/.p2/pool/plugins/com.oxygenxml.editor_24.0.0.v2021121518 where <user> is my user ID Selected 'u' for update

    The patcher exited with this error:

    Error: Could not find or load main class com.oxygenxml.patcher.log4j.Patcher
    Caused by: java.lang.ClassNotFoundException: com.oxygenxml.patcher.log4j.Patcher
    Leaving..
    

    Note: The patcher worked great for the full Oxygen Editor software. Thank you!

    opened by mysticforester 5
  • log4j still old version after appliying the patch

    log4j still old version after appliying the patch

    Hi, I just applied the patch to my "Oxygen XML Developer 21", but it looks like there are still 2 log4j.jar files that are out of date (last modification of the file is 04/2019) :

    • Oxygen XML Developer 21\lib\log4j.jar
    • Oxygen XML Developer 21\frameworks\dita\DITA-OT3.x\plugins\com.oxygenxml.common\lib\log4j.jar

    My IT services are complaining about that 2 files still have the log4j vulnerability.

    Did I missed something?

    Thanks for helping

    Matthieu RICAUD-DUSSARGET

    opened by mricaud 3
  • Patcher fails with

    Patcher fails with "Unknown patching strategy: 'null'." if the entered path ends in \

    We had a user report a problem with the path entered to point to the Oxygen folder. If the entered path ends in "\", the patcher fails. e.g.

    D:\gitProjects\oxygen-log4j-patcher>patch.bat
    ...
    Enter path:C:\Program Files\Oxygen XML Editor 21.1\
    Using java from: "C:\Program Files\Oxygen XML Editor 21.1\\jre"
    Please confirm that you want to apply the patch over the folder:
    "C:\Program Files\Oxygen XML Editor 21.1\"
    (yes/no)yes
    Please choose what type of patch do you want to apply:
      Type 'u' - for upgrading the log4j library
      Type 'r' - for keeping the current log4j library, but removing the vulnerable JNDI classes from it.
    Enter one of (u/r):u
    Configuration ok.
    Make sure the Oxygen application or server is closed before proceeding.
    Press ENTER when ready...
    
    D:\gitProjects\oxygen-log4j-patcher>"C:\Program Files\Oxygen XML Editor 21.1\\jre\bin\java.exe" -cp target/classes com.oxygenxml.patcher.log4j.Patcher "C:\Program Files\Oxygen XML Editor 21.1\" "u"
    Java version is 1.8.0_202
    Unknown patching strategy: 'null'.
    
    opened by AdrianBuza 2
  • Question about completeness of patch

    Question about completeness of patch

    Hello, I have Oxygen 20.1 installed on my Windows machine. After running the patch, I see updated Log4j 2.17.1 versions in the "Libraries" view. However, when running scans for older Log4J versions, I am still seeing them popping up in the following directories:

    C:\Program Files\Oxygen XML Editor 20\frameworks\dita\DITA-OT2.x\plugins\com.oxygenxml.common\lib\log4j-1.2.17.jar C:\Program Files\Oxygen XML Editor 20\frameworks\dita\DITA-OT2.x\plugins\com.oxygenxml.pdf.css\lib\log4j-1.2.17.jar C:\Program Files\Oxygen XML Editor 20\frameworks\docbook\xsl\com.oxygenxml.webhelp.classic\lib\log4j-1.2.17.jar C:\Program Files\Oxygen XML Editor 20\lib\log4j.jar

    Is the patch meant to update the versions of log4j in these directories? If not, is there another mitigation for updating them?

    I appreciate any guidance anyone can provide.

    opened by wkjds 1
  • Oxygen XML Editor Datasources log4j

    Oxygen XML Editor Datasources log4j

    I dont know where to put this because its more a general question: The exist-db datasources (manually created) uses the log4j.jar files for exist-db connections to connect to older exist-db Versions (eg. Versions < 5) is there a need to patch these local files too?

    opened by Kolophonium0 1
  • Make it more intuitive to set JAVA_HOME

    Make it more intuitive to set JAVA_HOME

    We had a forum post in which users did not manage to configure the JAVA_HOME variable correctly: https://www.oxygenxml.com/forum/topic23848.html .

    Currently we assume that users:

    • Know where Java is installed
    • Know the semantics of JAVA_HOME
    • Know how to set an environment variable in Windows

    If we want any Oxygen users to be able to apply this patch, we need to make it simpler to detect Java.

    opened by ctalau 1
Owner
oXygen XML Editor
oXygen XML Editor related projects
oXygen XML Editor
log4j-scanner is a project derived from other members of the open-source community by CISA's Rapid Action Force team to help organizations identify potentially vulnerable web services affected by the log4j vulnerabilities.

Log4j Scanner This repository provides a scanning solution for the log4j Remote Code Execution vulnerabilities (CVE-2021-44228 & CVE-2021-45046). The

Cybersecurity and Infrastructure Security Agency 1.3k Dec 22, 2022
Log4j-payload-generator - Log4j jndi injects the Payload generator

0x01 简介 log4j-payload-generator是 woodpecker框架 生产log4 jndi注入漏洞payload的插件。目前可以一键生产以下5类payload。 原始payload {[upper|lower]:x}类型随机混payload {[upper|lower]:x}

null 469 Dec 30, 2022
Scan and patch tool for CVE-2021-44228 and related log4j concerns.

A Log4J2 CVE-2021-44228 Vulnerability Scanner and Patcher Links to download the latest version: Linux x64 with glibc2.17+ (RHEL7+) Windows & all other

SAS Software 33 Jun 1, 2022
A manager tool to categorize game assets such as images and sounds/music. The tool enables you to tag these files, so that finding them by tags allows fast searches.

BtAssetManager This application allows you to easily categorize large amounts of image and sound files. You can apply tags to each individual file to

null 21 Sep 15, 2022
The utility is designed to implement version control of APEX application pages.

Oracle APEX version control tool The utility is designed to implement version control of APEX application pages. How it works The developer exports th

Oleksii Vykhristiyk 6 Aug 25, 2022
Version-agnostic and package-agnostic interfaces used in Constellar. Zero strict dependencies, works as a submodule.

bridge Version-agnostic and package-agnostic interfaces used in Constellar. Zero strict dependencies, works as a submodule. Used for cross-compatibili

uranometrical 2 Feb 23, 2022
My first proper GitHub project, I guess. Basically an automated version of the "Battle Royale" short series on Geo Facts' YouTube channel.

State-Royale Made by Pixer415, with some help from ThatOneCalculator This project needs your contributions. New modes/new features/typo fixes/suggesti

null 2 Jun 27, 2022
Gitlet - A version control system for managing file versions, mirroring the features of Git

Gitlet - A version control system for managing file versions, mirroring the features of Git. Emphasized the serialization and manipulation of files to compress, access, and manage file content efficiently. Stressed the employment of appropriate data structures and file persistance.

null 1 Jan 4, 2022
Changelog-java-version - Eine Auflistung der Änderungen in Java aus Sicht eines Entwicklers.

Changelog Java Versions Eine Auflistung der Änderungen in Java aus Sicht eines Entwicklers. Inhaltsverzeichnis Zugehörige Präsentation Homepage des Au

Frank W. Rahn 1 Jan 4, 2022
Continued version of Notorious by @K1llb0t

Notorious2.0 it supposed to be a leak but K1llb0t allow me to make it public and yes its better Note from K1llb0t_ Reason why i made this client is si

Notme11 9 Dec 2, 2022
Another fully updated version of the Homework Planner.

The Homework Planner Description This is another updated version of the homework planner, which is a simple and user-friendly application that allows

Wesley 2 Jan 17, 2022
Desktop size version of my Open 6DOF Platform.

Mini-6DOF Desktop size version of my Open 6DOF Platform. This is an expansion on my initial learning that I did to get up to speed for the big version

Christopher Knauf 4 Aug 26, 2022
Portal system based on front and back end separation built by ruoyi separation version

Keington-Portal-Separate English 中文 Introduction Keington Portal Separate is an official website portal system built by Keington Information Technolog

许怀安 1 Jan 30, 2022
A better version of NotEnoughCoins for hypixel skyblock.

NotEnoughCoins A SkyBlock Flipping Mod. /nec - Shows the config GUI /nec help - Shows the help message containing all the subcommands and their usage

null 3 Aug 19, 2022
Open-sourced version of Chitung the Furry QQ robot

Public Version of Chitung - the Mirai-based Tencent QQ bot. This project aims to provide users with a lite and open version of Chitung. Although Chitu

null 11 Jul 24, 2022
This project is an Android Studio plugin version of BlackObfuscator, it supports obfuscating code automatically. More information about this project are in BlackObfuscator.

DEX控制流混淆插件版 · BlackObfuscator-ASPlugin English Version 本项目为 BlackObfuscator 的Android Studio插件版,支持打包自动化混淆。功能及介绍方面请查看 BlackObfuscator 源项目 注意事项 首要注意:Blac

null 229 Dec 31, 2022
A mc server plugin for papermc.A different version of speed run.

弃坑状态 日后重置 HungerGamesSpeedRun 此乃一papermc之服务器插件。修改版速通 A mc server plugin for papermc.A different version of speed run. 编译/Compile 1.如编译其他插件般编译此插件 1.Jus

Lucien2714 4 Feb 3, 2022
Drifty is an open-source interactive File Downloader system built with java. It is currently available in CLI mode and has the GUI version under active development.

Drifty Drifty is an open-source interactive File Downloader system built using Java. It takes the link to the file, the directory where it needs to be

Saptarshi Sarkar 60 Dec 24, 2022
Small example repo for looking into log4j CVE-2021-44228

log4j CVE-2021-44228 Lame useless repo to look into log4j CVE-2021-44228. Setup The repository contains a .idea/ folder which is a IntelliJ IDEA proje

null 65 Dec 13, 2022