Skip to content

fix(deps): update dependency org.apache.logging.log4j:log4j-1.2-api to v2.25.4 [security]#6690

Open
renovate-bot wants to merge 1 commit into
apache:masterfrom
renovate-bot:renovate/maven-org.apache.logging.log4j-log4j-1.2-api-vulnerability
Open

fix(deps): update dependency org.apache.logging.log4j:log4j-1.2-api to v2.25.4 [security]#6690
renovate-bot wants to merge 1 commit into
apache:masterfrom
renovate-bot:renovate/maven-org.apache.logging.log4j-log4j-1.2-api-vulnerability

Conversation

@renovate-bot

@renovate-bot renovate-bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
org.apache.logging.log4j:log4j-1.2-api (source) 2.25.32.25.4 age confidence

Apache Log4j 1 to Log4j 2 bridge: silent log event loss in Log4j1XmlLayout due to unescaped XML 1.0 forbidden characters

CVE-2026-34479 / GHSA-h383-gmxw-35v2

More information

Details

The Log4j1XmlLayout from the Apache Log4j 1-to-Log4j 2 bridge fails to escape characters forbidden by the XML 1.0 standard, producing malformed XML output. Conforming XML parsers are required to reject documents containing such characters with a fatal error, which may cause downstream log processing systems to drop or fail to index affected records.

Two groups of users are affected:

  • Those using Log4j1XmlLayout directly in a Log4j Core 2 configuration file.
  • Those using the Log4j 1 configuration compatibility layer with org.apache.log4j.xml.XMLLayout specified as the layout class.

Users are advised to upgrade to Apache Log4j 1-to-Log4j 2 bridge version 2.25.4, which corrects this issue.

[!NOTE]
The Apache Log4j 1-to-Log4j 2 bridge is deprecated and will not be present in Log4j 3. Users are encouraged to consult the
Log4j 1 to Log4j 2 migration guide, and specifically the section on eliminating reliance on the bridge.

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 the GitHub Advisory Database (CC-BY 4.0).


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • 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 was generated by Mend Renovate. View the repository job log.

vlsi added a commit to vlsi/jmeter that referenced this pull request Jun 3, 2026
Renovate previously needed a separate packageRule for each groupId, and
security updates were never grouped: Renovate forces their groupName to
null, so log4j-core and log4j-1.2-api opened as separate PRs (apache#6691 and
apache#6690) even though both bump to the same 2.25.4.

Add a catch-all rule that groups every Maven update by its groupId, and a
vulnerabilityAlerts block that applies the same grouping to security
updates. Drop the per-groupId rules the catch-all now covers, keeping only
the rules that do more than restate a single groupId: groups that span
several groupIds (errorprone, classic commons, xalan/xerces, vlsi, helger,
gradle, kotlin), version pins (slf4j, xml-apis), disabled entries (guava,
internal src:protocol), and the GitHub Actions group.

Verified with renovate-config-validator and a `renovate --platform=local`
dry run: log4j keeps all four artifacts in one branch, and bouncycastle,
activemq, tika, commons, and lets-plot each stay grouped by groupId
through the catch-all.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vlsi added a commit to vlsi/jmeter that referenced this pull request Jun 3, 2026
Renovate previously needed a separate packageRule for each groupId, and
security updates were never grouped: Renovate forces their groupName to
null, so log4j-core and log4j-1.2-api opened as separate PRs (apache#6691 and
apache#6690) even though both bump to the same 2.25.4.

Add a catch-all rule that groups every Maven update by its groupId, and a
vulnerabilityAlerts block that applies the same grouping to security
updates. Drop the per-groupId rules the catch-all now covers, keeping only
the rules that do more than restate a single groupId: groups that span
several groupIds (errorprone, classic commons, xalan/xerces, vlsi, helger,
gradle, kotlin), version pins (slf4j, xml-apis), disabled entries (guava,
internal src:protocol), and the GitHub Actions group.

Verified with renovate-config-validator and a `renovate --platform=local`
dry run: log4j keeps all four artifacts in one branch, and bouncycastle,
activemq, tika, commons, and lets-plot each stay grouped by groupId
through the catch-all.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vlsi added a commit that referenced this pull request Jun 3, 2026
Renovate previously needed a separate packageRule for each groupId, and
security updates were never grouped: Renovate forces their groupName to
null, so log4j-core and log4j-1.2-api opened as separate PRs (#6691 and
#6690) even though both bump to the same 2.25.4.

Add a catch-all rule that groups every Maven update by its groupId, and a
vulnerabilityAlerts block that applies the same grouping to security
updates. Drop the per-groupId rules the catch-all now covers, keeping only
the rules that do more than restate a single groupId: groups that span
several groupIds (errorprone, classic commons, xalan/xerces, vlsi, helger,
gradle, kotlin), version pins (slf4j, xml-apis), disabled entries (guava,
internal src:protocol), and the GitHub Actions group.

Verified with renovate-config-validator and a `renovate --platform=local`
dry run: log4j keeps all four artifacts in one branch, and bouncycastle,
activemq, tika, commons, and lets-plot each stay grouped by groupId
through the catch-all.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

1 participant