Skip to content
VulniPulse
Critical10.0Apache Software Foundation Updated

Critical [CVE-2026-82617] Apache OpenNLP: The two built-in name-finder patterns exposed by opennlp.tools.namefind.RegexNameFinderFactory - DEFAULT_REGEX_NAME_FINDER.EMAIL and DEFAULT_REGEX_NAME_FINDER.URL - contain ambiguous nested quantifiers

This critical-severity Apache Software Foundation advisory covers CVE-2026-82617 affecting Apache OpenNLP.

CVE-2026-82617 Published Sep 11, 2026Updated by vendor Sep 11, 2026
Affected products & platforms
Apache Software FoundationUnclassified
Open vendor advisory

Android app · Google Play

Monitor future Apache Software Foundation CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 32 official vendor sources and 160+ reviewed platform categories.

Matching phone alertsOptional email delivery

Summary

The two built-in name-finder patterns exposed by opennlp.tools.namefind.

RegexNameFinderFactory - DEFAULT_REGEX_NAME_FINDER.EMAIL and DEFAULT_REGEX_NAME_FINDER.URL - contain ambiguous nested quantifiers.

An application that obtains these finders through

RegexNameFinderFactory.getDefaultRegexNameFinders(...) and then applies them to untrusted text through RegexNameFinder.find(String[]) or RegexNameFinder.find(String)

can be driven into super-linear backtracking or into unbounded matcher recursion by a small crafted input.

For the EMAIL pattern, a long run of local-part characters that is never followed by an @ forces the matcher to re-scan to end-of-input from every starting offset.

Cost grows quadratically with input length: an input of approximately 32 KB consumes several seconds

of CPU in a single find() call and returns no match, and each doubling of the input multiplies the cost roughly four-fold.

For the URL pattern, the query-string sub-expression nests a capturing repetition inside an outer repetition.

The JDK matcher recurses once per query token, so an input of approximately 4 KB containing many &-separated tokens exhausts the thread stack

causes java.lang. StackOverflowError to propagate out of find(), terminating the

calling thread. On a thread created with a smaller stack (for example -Xss512k, typical

Affected versions
  • 2.0.0 through 2.5.11
  • 3.0.0-M1 through 3.0.0-M5.
  • through 3.0.0-M5

Official advisory · high-confidence parse· fetched 4 hours ago·verify at source

Fixed versions
  • 2.5.12
  • 3.0.0

Official advisory · high-confidence parse· fetched 4 hours ago·verify at source

Mitigation checklist

Recommended fix / mitigation
  • Users are recommended to upgrade to version 2.5.12, or to 3.0.0-M6 for users tracking the 3.0.0 milestone line, which fix the issue.

Official advisory · high-confidence parse· fetched 4 hours ago·verify at source

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.