Skip to content

deps(java): bump org.apache.opennlp:opennlp-tools from 2.5.8 to 2.5.9#16037

Merged
dweiss merged 3 commits into
mainfrom
dependabot/gradle/org.apache.opennlp-opennlp-tools-2.5.9
May 6, 2026
Merged

deps(java): bump org.apache.opennlp:opennlp-tools from 2.5.8 to 2.5.9#16037
dweiss merged 3 commits into
mainfrom
dependabot/gradle/org.apache.opennlp-opennlp-tools-2.5.9

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 5, 2026

Bumps org.apache.opennlp:opennlp-tools from 2.5.8 to 2.5.9.

Release notes

Sourced from org.apache.opennlp:opennlp-tools's releases.

OpenNLP 2.5.9

Apache OpenNLP 2.5.9

This is a maintenance and security release on the 2.x line. It backports the security fixes shipped in 3.0.0-M3 and refreshes several dependencies.

Security Fixes

Three security issues are addressed in this release (also fixed in 3.0.0-M3 on the 3.x line).

XXE in DictionaryEntryPersistor (OPENNLP-1819)

The DictionaryEntryPersistor previously used a SAXParserFactory that did not enable secure processing or disable DTD handling, leaving external entity resolution active. A malicious dictionary file could exploit this for local file disclosure or SSRF before any dictionary entry was processed.

The parsing path is now aligned with the project's existing XmlUtil helper, which properly sets FEATURE_SECURE_PROCESSING and disallow-doctype-decl.

Arbitrary Class Instantiation in ExtensionLoader (OPENNLP-1820)

ExtensionLoader.instantiateExtension() performed its isAssignableFrom type check after Class.forName() had already executed the target class's static initializer, allowing a crafted model archive to trigger the static initializer of any class on the classpath.

The fix introduces a package-prefix allowlist consulted before Class.forName() is invoked:

  • Classes under opennlp.* remain permitted by default.
  • Other packages must be opted in via ExtensionLoader.registerAllowedPackage(String) or the OPENNLP_EXT_ALLOWED_PACKAGES system property (comma-separated list).

OOM via Unbounded Array Allocation in AbstractModelReader (OPENNLP-1821)

getOutcomes(), getOutcomePatterns(), and getPredicates() read attacker-controlled 32-bit count fields from binary model streams and passed them directly to array allocations. A crafted .bin file could trigger an immediate OutOfMemoryError and crash the JVM.

Each count is now bounded (default 10,000,000, configurable via -DOPENNLP_MAX_ENTRIES=<n>), with negative or oversized values failing fast via IllegalArgumentException.

⚠️ For all three issues, users who cannot upgrade immediately should restrict input (dictionary and model files) to trusted sources only.

What's Changed

Full Changelog: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311215&version=12356814

Commits
  • 420b7a4 [maven-release-plugin] prepare release opennlp-2.5.9
  • 44a02a7 OPENNLP-1820: Restrict ExtensionLoader to allowlisted package prefixes (#1021)
  • 49ba4ef OPENNLP-1821: Prevent OutOfMemory Due To Huge Array Allocation (#1022)
  • 94f89b5 Minor: Regenerated NOTICE File for 3eb21bcf093324c4a43b780383a4e5f37aaaf606 (...
  • 3eb21bc [2.x]: OPENNLP-1822: Update ONNX runtime to 1.25.0 (#1023)
  • d9aaa47 OPENNLP-1819: Align DictionaryEntryPersistor XML parsing with XmlUtil helper ...
  • cd6c49d [2.x]: Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1
  • d28365f [2.x]: Bump com.ruleoftech:markdown-page-generator-plugin
  • ad5d200 [2.x]: Bump actions/cache from 5.0.4 to 5.0.5
  • a219be1 OPENNLP-53: Fix compile error in ParseTest on 2.x The ch...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [org.apache.opennlp:opennlp-tools](https://github.com/apache/opennlp) from 2.5.8 to 2.5.9.
- [Release notes](https://github.com/apache/opennlp/releases)
- [Commits](apache/opennlp@opennlp-2.5.8...opennlp-2.5.9)

---
updated-dependencies:
- dependency-name: org.apache.opennlp:opennlp-tools
  dependency-version: 2.5.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Dependency Updates skip-changelog Apply to PRs that don't need a changelog entry, stopping the automated changelog check. labels May 5, 2026
@dweiss dweiss added this to the 11.0.0 milestone May 6, 2026
@dweiss dweiss merged commit 875286e into main May 6, 2026
13 checks passed
@dependabot dependabot Bot deleted the dependabot/gradle/org.apache.opennlp-opennlp-tools-2.5.9 branch May 6, 2026 06:26
dweiss added a commit to dweiss/lucene that referenced this pull request May 12, 2026
…apache#16037)

* deps(java): bump org.apache.opennlp:opennlp-tools from 2.5.8 to 2.5.9

Bumps [org.apache.opennlp:opennlp-tools](https://github.com/apache/opennlp) from 2.5.8 to 2.5.9.
- [Release notes](https://github.com/apache/opennlp/releases)
- [Commits](apache/opennlp@opennlp-2.5.8...opennlp-2.5.9)

---
updated-dependencies:
- dependency-name: org.apache.opennlp:opennlp-tools
  dependency-version: 2.5.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Checksums, lockfile.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dawid Weiss <dawid.weiss@carrotsearch.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency Updates skip-changelog Apply to PRs that don't need a changelog entry, stopping the automated changelog check.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant