Skip to content

Update org.apache.logging.log4j:2.20.0 to v2.25.4 [SECURITY]#65

Closed
dwertent wants to merge 1 commit into
mainfrom
renovate/org.apache.logging.log4j-2.20.0
Closed

Update org.apache.logging.log4j:2.20.0 to v2.25.4 [SECURITY]#65
dwertent wants to merge 1 commit into
mainfrom
renovate/org.apache.logging.log4j-2.20.0

Conversation

@dwertent

Copy link
Copy Markdown

This PR contains the following updates:

Package Type Update Change
org.apache.logging.log4j:log4j-core (source) dependencies minor 2.20.02.25.4

Apache Log4j does not verify the TLS hostname in its Socket Appender

CVE-2025-68161 / GHSA-vc5p-v9hr-52mj

More information

Details

The Socket Appender in Apache Log4j Core versions 2.0-beta9 through 2.25.2 does not perform TLS hostname verification of the peer certificate, even when the verifyHostName configuration attribute or the log4j2.sslVerifyHostName system property is set to true.

This issue may allow a man-in-the-middle attacker to intercept or redirect log traffic under the following conditions:

  • The attacker is able to intercept or redirect network traffic between the client and the log receiver.
  • The attacker can present a server certificate issued by a certification authority trusted by the Socket Appender’s configured trust store (or by the default Java trust store if no custom trust store is configured).

Users are advised to upgrade to Apache Log4j Core version 2.25.3, which addresses this issue.

As an alternative mitigation, the Socket Appender may be configured to use a private or restricted trust root to limit the set of trusted certificates.

Severity

  • CVSS Score: 6.3 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Apache Log4j Core: Silent log event loss in XmlLayout due to unescaped XML 1.0 forbidden characters

CVE-2026-34480 / GHSA-3pxv-7cmr-fjr4

More information

Details

Apache Log4j Core's XmlLayout, in versions up to and including 2.25.3, fails to sanitize characters forbidden by the XML 1.0 specification, producing invalid XML output whenever a log message or MDC value contains such characters.

The impact depends on the StAX implementation in use:

  • JRE built-in StAX: Forbidden characters are silently written to the output, producing malformed XML. Conforming parsers must reject such documents with a fatal error, which may cause downstream log-processing systems to drop the affected records.
  • Alternative StAX implementations (e.g., Woodstox, a transitive dependency of the Jackson XML Dataformat module): An exception is thrown during the logging call, and the log event is never delivered to its intended appender, only to Log4j's internal status logger.

Users are advised to upgrade to Apache Log4j Core 2.25.4, which corrects this issue by sanitizing forbidden characters before XML output.

Severity

  • CVSS Score: 6.9 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Apache Log4j Core: verifyHostName attribute silently ignored in TLS configuration

CVE-2026-34477 / GHSA-6hg6-v5c8-fphq

More information

Details

The fix for CVE-2025-68161 was incomplete: it addressed hostname verification only when enabled via the log4j2.sslVerifyHostName system property, but not when configured through the verifyHostName attribute of the <Ssl> element.

Although the verifyHostName configuration attribute was introduced in Log4j Core 2.12.0, it was silently ignored in all versions through 2.25.3, leaving TLS connections vulnerable to interception regardless of the configured value.

A network-based attacker may be able to perform a man-in-the-middle attack when all of the following conditions are met:

  • An SMTP, Socket, or Syslog appender is in use.
  • TLS is configured via a nested element.
  • The attacker can present a certificate issued by a CA trusted by the appender's configured trust store, or by the default Java trust store if none is configured.

This issue does not affect users of the HTTP appender, which uses a separate verifyHostname attribute that was not subject to this bug and verifies host names by default.

Users are advised to upgrade to Apache Log4j Core 2.25.4, which corrects this issue.

Severity

  • CVSS Score: 6.3 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

Copilot AI review requested due to automatic review settings June 15, 2026 20:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the Apache Log4j 2 dependency set used by Besu’s Gradle dependency management, primarily to address recently disclosed Log4j Core security issues.

Changes:

  • Updated org.apache.logging.log4j dependency set version from 2.20.0 to 2.25.4.
  • (Effectively) upgrades multiple Log4j artifacts together (e.g., log4j-api, log4j-core, log4j-jul, log4j-slf4j2-impl) via the dependency set.
Comments suppressed due to low confidence (1)

gradle/versions.gradle:134

  • The PR description says it updates only org.apache.logging.log4j:log4j-core, but this change updates the version for the entire org.apache.logging.log4j dependency set (e.g., log4j-api, log4j-jul, log4j-slf4j2-impl as well). Please adjust the PR description/changelog to reflect that multiple Log4j artifacts are being upgraded together.
    dependencySet(group: 'org.apache.logging.log4j', version: '2.25.4') {
      entry 'log4j-api'
      entry 'log4j-core'
      entry 'log4j-jul'
      entry 'log4j-slf4j2-impl'
    }

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread gradle/versions.gradle
dependency 'org.apache.commons:commons-text:1.10.0'

dependencySet(group: 'org.apache.logging.log4j', version: '2.20.0') {
dependencySet(group: 'org.apache.logging.log4j', version: '2.25.4') {
@dwertent

Copy link
Copy Markdown
Author

Closing: opened during a CVE-remediation test session on 2026-06-15; not needed (superseded by consolidated grouped/direct-only/severity-filtered config). Sorry for the noise.

@dwertent dwertent closed this Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants