Skip to content
VulniPulse
Advisory severityCritical10.0Apache Software Foundation

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.

Aggregated and source-linked by VulniPulse. Data sources, validation and limitations.

CVE-2026-82617 Source published Source updated

VulniPulse record published Record updated

CVE-2026-82617
Affected products & platforms
Apache Software FoundationUnclassified
Open source advisory

Get an email when Apache Software Foundation publishes the next one.

VulniPulse checks Apache Software Foundation's security advisories around the clock and emails you new ones with the severity, the fixed version and the vendor's link. First month free, then US$15/month; we email you before the first charge.

Start your free month

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 2 months ago·verify at source

Fixed versions
  • 2.5.12
  • 3.0.0

Official advisory · high-confidence parse· fetched 2 months 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 2 months ago·verify at source

All Apache Software Foundation advisories

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 34 official vendor sources and 160+ reviewed platform categories.

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.