reload4j news
Please note that you can receive reload4j related announcements by subscribing to the QOS.ch announce mailing list.
Reload4j artifacts are binary reproducible, as independently attested by reproducible-central.
2023-03-22 - Release of reload4j 1.2.25
• The loadClass
and getResource
methods in the Loader
class are used to search for
resources and to load classes, typically appenders or
layouts. Given that some users encountered problems with the
changes made in version 1.2.24, the thread context class loader
(TCCL) is now tried first under all JDK versions unless the
"log4j.ignoreTCL" system property is set to true. This was
intended behavior all along except that is was disabled in JDK 9
and later due to a coding error. This fixes issue 62
as reported by David Moten.
• CVE-2023-26464 was analysed and was deemed not a serious or practical menace as its attack surface is very small.
The binary of this version can reproduced by checking out the tag v_1.2.25 from the source code repository (github). This release was built using Java "8" build 1.8.0_311-b11 under Debian 9.5.
2022-11-28 - Release of reload4j 1.2.24
• The loadClass
and getResource
methods in the Loader
class are used to search for
resources and to load classes, typically appenders or layouts. In
this release, only the class loader that loaded the
Loader
class itself is used. The thread context class
loader (TCCL) is no longer used. In previous releases, this was
already the case when running under JDK 9 and later but not under
JDK 8 or earlier. The change provides both more consistent and
also simpler behavior. It should be be transparent to users.
The binary of this version can reproduced by checking out the tag v_1.2.24 from the source code repository (github). This release was built using Java "8" build 1.8.0_311-b11 under Debian 9.5.
2022-11-21 - Release of reload4j 1.2.23
• Added Automatic-Module-Name
entry set to
ch.qos.reload4j
in the MANIFEST.MF
file. This should help in including reload4j as a named dependency
in Jigsaw modular projects. This enhancement was suggested by Rob
Spoor who also provided the relevant PR.
The binary of this version can reproduced by checking out the tag v_1.2.23 from the source code repository (github). This release was built using Java "8" build 1.8.0_311-b11 under Debian 9.5.
2022-07-21 - Release of reload4j 1.2.22
• Fixed a newly discovered XXE vector vulnerability reported against Chainsaw. This issue was reported by PJ Fanning.
• Added GitHub token permissions for GitHub Actions workflow. A similar issue was reported to the SLF4J project by Varun Sharma.
The binary of this version can reproduced by checking out the tag v_1.2.22 from the source code repository (github). This release was built using Java "8" build 1.8.0_311-b11 under Debian 9.5.
2022-05-17 - Release of reload4j 1.2.21
This release was championed by Cloudera.
• The binary compatibility issue between earlier versions of reload4j and slf4j-log4j12 has been fixed. Although it is recommended that you use slf4j-reload4j as the preferred adapter for the slf4j/reload4j combination, with reload4j version 1.2.21 and later you can freely mix any version of slf4j-log4j12, if you have to.
The binary of this version can reproduced by checking out the tag v_1.2.21 from the source code repository (github). This release was built using Java "8" build 1.8.0_311-b11 under Debian 9.5.
File | Checksum | Signature |
---|---|---|
reload4j-1.2.21.jar | reload4j-1.2.21.jar.sha1 | reload4j-1.2.21.jar.asc |
2022-04-05 - Release of reload4j 1.2.20
• For enabled logging statements, the performance of iterating on appenders attached to a logger has been significantly improved.
The binary of this version can reproduced by checking out the tag v_1.2.20 from the source code repository (github). Release built using Java "8" build 1.8.0_311-b11 under Windows 11.
2022-02-08 - Release of reload4j 1.2.19
Starting with 1.2.18.5, reload4j releases are reproducible. By reproducible we mean that anyone checking out the code corresponding to the release version from source code repository and building that local copy, will obtain an identical binary to the published binary.
• Given that the 4th position in the release number may be interpreted as an unnumbered qualifier, from now on, reload4j releases will have 3 positions and if needed a real qualifier at the 4th position.
• The Bundle-SymbolicName
entry in MANIFEST.MF is
now set to org.apache.log4j
. In addition, the
superflous Bundle-RequiredExecutionEnvironment
entry
was removed. See
OSGi spec 3.4.1. This fixes the last reported kinks in the
OSGi bundle manifest file.
• Added missing default java Manifest entries such as "Implementation-Title", "Implementation-Vendor" and "Implementation-Version" are included in MANIFEST.MF. This solves issue 37.
• Fixed test cases so that no folders other than those under the
target
folder are modified. This fixes issue 15.
2022-02-03 - Release of reload4j 1.2.18.5
• Starting with reload4j 1.2.18.5, reload4j releases will be reproducible. By reproducible we mean that anyone checking out the code corresponding to the release version from github and building that local copy, will obtain an identical binary to the binary found on Maven central.
Fix error message in case of missing setFeature
function in older DocumentBuilderFactory
implementations. This fixes issue 34.
2022-01-26 - Release of reload4j 1.2.18.4
• Fixed OSGi manifest issues. Many thanks to Grzegorz Grzybek for providing the relevant patch.
• Removed org.apache.log4j.jmx
package as it
was marked as deprecated and its use discouraged.
2022-01-24 - Release of reload4j 1.2.18.3
• XML entity injection attack was fixed by hardening
• CVE-2020-9488
(SMTPAppender) fixed by adding checkServerIdentity
option. This option, enabled by default, will check that the
certificate presented by the server matches SMTPHost
. While
this option is 'true' by default, it is only active if the SMTPProtocol
is "smtps."
• Removed ORO package dependency in tests.
• Added missing OSGi bundle information.
2022-01-21 - Release of reload4j 1.2.18.2
• CVE-2022-23305 (JDBCAppender) - fixed by using JDBC PreparedStatement which are invulnerable to SQL injection.
Thanks to the remarkable work of Vladimir Sitnikov JDBCAppender
now interprets the SQL expression on the fly so as to insert new
events using PreparedStartement
instances. Note that
the table column types are restricted to those types compatible
with Java's String
.
• The LF5 package was removed with no replacement.
2022-01-19 - Release of reload4j 1.2.18.1
• CVE-2022-23302 (JMSSink) - fixed by hardening the component.
• CVE-2020-9493 and CVE-2022-23307 (Chainsaw) - fixed by hardening the component.
• CVE-2022-23305 (JDBCAppender) - fixed in 1.2.18.1 by removal
In the absence of a robust and well tested countermeasure,
JDBCAppender
has been removed to prevent SQL injection
attacks. We have a proposed countermeasure which will may yet
salvage JDBCAppender
. See PR 26.
2022-01-12 - Release of reload4j 1.2.18.0
First release of reload4j fixing the following issues:
• Standardize and sanitize the build.
• CVE-2021-4104 (JMSAppender) fixed by hardening the components
• CVE-2019-17571 (SocketServer) - fixed by hardening the component.
• Under Java 9 and later, the MDC implementation in log4j incorrectly assumed that the runtime environment was Java 1.1. This caused MDC functinality to be disabled entirely. This issue was fixed by removing the silly "are we running under Java 1.1 or earlier?" test.
2022-01-06 - start of work on reload4j project
Launch of the reload4j project. Work has begun on the web-site, and source repositories.