GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-82617 (GCVE-0-2026-82617)

Vulnerability from cvelistv5 – Published: 2026-09-11 17:50 – Updated: 2026-09-11 21:07
VLAI
Title
Apache OpenNLP, Apache OpenNLP: ReDoS / stack exhaustion in RegexNameFinderFactory built-in EMAIL and URL patterns
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 and 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 of server worker pools) approximately 1 KB is sufficient. In both cases an attacker who can supply text for analysis can convert a single request into seconds to minutes of pinned CPU, or into an abrupt thread death, denying service to the embedding application. No authentication, special configuration, or model file is required beyond the application having selected one of the two built-in finders. This issue affects Apache OpenNLP: from 2.0.0 through 2.5.11; from 3.0.0-M1 through 3.0.0-M5. 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.
SSVC
Exploitation: none Automatable: yes Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-11 17:57 UTC
CWE
  • CWE-1333 - Inefficient Regular Expression Complexity
Impacted products
Vendor Product Version CPE status
Apache Software Foundation Apache OpenNLP Affected: 3.0.0-M1 , < 3.0.0-M6 (semver)
guessed Create a notification for this product.
Apache Software Foundation Apache OpenNLP Affected: 2.0.0 , < 2.5.12 (semver)
guessed Create a notification for this product.
Credits
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-82617",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "yes"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-09-11T17:57:46.105698Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-1333",
                "description": "CWE-1333 Inefficient Regular Expression Complexity",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-09-11T17:57:49.583Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2026-09-11T21:07:10.400Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "http://www.openwall.com/lists/oss-security/2026/09/11/10"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected",
          "packageName": "org.apache.opennlp:opennlp-core",
          "packageURL": "pkg:maven/org.apache.opennlp/opennlp-core",
          "product": "Apache OpenNLP",
          "vendor": "Apache Software Foundation",
          "versions": [
            {
              "lessThan": "3.0.0-M6",
              "status": "affected",
              "version": "3.0.0-M1",
              "versionType": "semver"
            }
          ]
        },
        {
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected",
          "packageName": "org.apache.opennlp:opennlp-tools",
          "packageURL": "pkg:maven/org.apache.opennlp/opennlp-tools",
          "product": "Apache OpenNLP",
          "vendor": "Apache Software Foundation",
          "versions": [
            {
              "lessThan": "2.5.12",
              "status": "affected",
              "version": "2.0.0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "n0mi1k"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003e\u003cspan\u003eThe two built-in name-finder patterns exposed by\n\u003c/span\u003e\u003ccode\u003eopennlp.tools.namefind.RegexNameFinderFactory\u003c/code\u003e\u003cspan\u003e - \u003c/span\u003e\u003ccode\u003eDEFAULT_REGEX_NAME_FINDER.EMAIL\u003c/code\u003e\u003cspan\u003e\nand \u003c/span\u003e\u003ccode\u003eDEFAULT_REGEX_NAME_FINDER.URL\u003c/code\u003e\u003cspan\u003e\u0026nbsp;- contain ambiguous nested quantifiers. An\napplication that obtains these finders through\n\u003c/span\u003e\u003ccode\u003eRegexNameFinderFactory.getDefaultRegexNameFinders(...)\u003c/code\u003e\u003cspan\u003e and then applies them to\nuntrusted text through \u003c/span\u003e\u003ccode\u003eRegexNameFinder.find(String[])\u003c/code\u003e\u003cspan\u003e or \u003c/span\u003e\u003ccode\u003eRegexNameFinder.find(String)\u003c/code\u003e\u003cspan\u003e\ncan be driven into super-linear backtracking or into unbounded matcher recursion by a\nsmall crafted input.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003eFor the EMAIL pattern, a long run of local-part characters that is never followed by an\n\u003ccode\u003e@\u003c/code\u003e forces the matcher to re-scan to end-of-input from every starting offset. Cost grows\nquadratically with input length: an input of approximately 32 KB consumes several seconds\nof CPU in a single \u003ccode\u003efind()\u003c/code\u003e call and returns no match, and each doubling of the input\nmultiplies the cost roughly four-fold.\u003c/p\u003e\n\n\u003cp\u003eFor the URL pattern, the query-string sub-expression nests a capturing repetition inside\nan outer repetition. The JDK matcher recurses once per query token, so an input of\napproximately 4 KB containing many \u003ccode\u003e\u0026amp;\u003c/code\u003e-separated tokens exhausts the thread stack and\ncauses \u003ccode\u003ejava.lang.StackOverflowError\u003c/code\u003e to propagate out of \u003ccode\u003efind()\u003c/code\u003e, terminating the\ncalling thread. On a thread created with a smaller stack (for example \u003ccode\u003e-Xss512k\u003c/code\u003e, typical\nof server worker pools) approximately 1 KB is sufficient.\u003c/p\u003e\n\n\u003cp\u003eIn both cases an attacker who can supply text for analysis can convert a single request\ninto seconds to minutes of pinned CPU, or into an abrupt thread death, denying service to\nthe embedding application. No authentication, special configuration, or model file is\nrequired beyond the application having selected one of the two built-in finders.\u003c/p\u003e\n\n\u003cp\u003eThis issue affects Apache OpenNLP: from 2.0.0 through 2.5.11; from 3.0.0-M1 through\n3.0.0-M5.\u003c/p\u003e\u003cp\u003e\n\n\u003c/p\u003e\u003cp\u003eUsers are recommended to upgrade to version 2.5.12, or to 3.0.0-M6 for users tracking the\n3.0.0 milestone line, which fix the issue.\u003c/p\u003e\n\n\u003cp\u003e\u003cbr\u003e\u003c/p\u003e"
            }
          ],
          "value": "The two built-in name-finder patterns exposed by\nopennlp.tools.namefind.RegexNameFinderFactory - DEFAULT_REGEX_NAME_FINDER.EMAIL\nand DEFAULT_REGEX_NAME_FINDER.URL\u00a0- contain ambiguous nested quantifiers. An\napplication that obtains these finders through\nRegexNameFinderFactory.getDefaultRegexNameFinders(...) and then applies them to\nuntrusted text through RegexNameFinder.find(String[]) or RegexNameFinder.find(String)\ncan be driven into super-linear backtracking or into unbounded matcher recursion by a\nsmall crafted input.\n\n\n\n\n\nFor the EMAIL pattern, a long run of local-part characters that is never followed by an\n@ forces the matcher to re-scan to end-of-input from every starting offset. Cost grows\nquadratically with input length: an input of approximately 32 KB consumes several seconds\nof CPU in a single find() call and returns no match, and each doubling of the input\nmultiplies the cost roughly four-fold.\n\n\n\n\n\nFor the URL pattern, the query-string sub-expression nests a capturing repetition inside\nan outer repetition. The JDK matcher recurses once per query token, so an input of\napproximately 4 KB containing many \u0026-separated tokens exhausts the thread stack and\ncauses java.lang.StackOverflowError to propagate out of find(), terminating the\ncalling thread. On a thread created with a smaller stack (for example -Xss512k, typical\nof server worker pools) approximately 1 KB is sufficient.\n\n\n\n\n\nIn both cases an attacker who can supply text for analysis can convert a single request\ninto seconds to minutes of pinned CPU, or into an abrupt thread death, denying service to\nthe embedding application. No authentication, special configuration, or model file is\nrequired beyond the application having selected one of the two built-in finders.\n\n\n\n\n\nThis issue affects Apache OpenNLP: from 2.0.0 through 2.5.11; from 3.0.0-M1 through\n3.0.0-M5.\n\n\n\n\n\n\n\n\n\nUsers are recommended to upgrade to version 2.5.12, or to 3.0.0-M6 for users tracking the\n3.0.0 milestone line, which fix the issue."
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "LOW",
            "attackRequirements": "NONE",
            "attackVector": "NETWORK",
            "baseScore": 10,
            "baseSeverity": "CRITICAL",
            "exploitMaturity": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "HIGH",
            "subConfidentialityImpact": "HIGH",
            "subIntegrityImpact": "HIGH",
            "userInteraction": "NONE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H",
            "version": "4.0",
            "vulnAvailabilityImpact": "HIGH",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-11T17:50:53.639Z",
        "orgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
        "shortName": "apache"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://lists.apache.org/thread/spzhcxxszqdpppg70m1zz2l3mv29mhl3"
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "title": "Apache OpenNLP, Apache OpenNLP: ReDoS / stack exhaustion in RegexNameFinderFactory built-in EMAIL and URL patterns",
      "x_generator": {
        "engine": "Vulnogram 1.0.3"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
    "assignerShortName": "apache",
    "cveId": "CVE-2026-82617",
    "datePublished": "2026-09-11T17:50:53.639Z",
    "dateReserved": "2026-08-30T07:51:33.177Z",
    "dateUpdated": "2026-09-11T21:07:10.400Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-82617",
      "date": "2026-09-13",
      "epss": "0.00345",
      "percentile": "0.27665"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-82617\",\"sourceIdentifier\":\"security@apache.org\",\"published\":\"2026-09-11T18:16:59.443\",\"lastModified\":\"2026-09-11T21:17:25.553\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"The two built-in name-finder patterns exposed by\\nopennlp.tools.namefind.RegexNameFinderFactory - DEFAULT_REGEX_NAME_FINDER.EMAIL\\nand DEFAULT_REGEX_NAME_FINDER.URL\u00a0- contain ambiguous nested quantifiers. An\\napplication that obtains these finders through\\nRegexNameFinderFactory.getDefaultRegexNameFinders(...) and then applies them to\\nuntrusted text through RegexNameFinder.find(String[]) or RegexNameFinder.find(String)\\ncan be driven into super-linear backtracking or into unbounded matcher recursion by a\\nsmall crafted input.\\n\\n\\n\\n\\n\\nFor the EMAIL pattern, a long run of local-part characters that is never followed by an\\n@ forces the matcher to re-scan to end-of-input from every starting offset. Cost grows\\nquadratically with input length: an input of approximately 32 KB consumes several seconds\\nof CPU in a single find() call and returns no match, and each doubling of the input\\nmultiplies the cost roughly four-fold.\\n\\n\\n\\n\\n\\nFor the URL pattern, the query-string sub-expression nests a capturing repetition inside\\nan outer repetition. The JDK matcher recurses once per query token, so an input of\\napproximately 4 KB containing many \u0026-separated tokens exhausts the thread stack and\\ncauses java.lang.StackOverflowError to propagate out of find(), terminating the\\ncalling thread. On a thread created with a smaller stack (for example -Xss512k, typical\\nof server worker pools) approximately 1 KB is sufficient.\\n\\n\\n\\n\\n\\nIn both cases an attacker who can supply text for analysis can convert a single request\\ninto seconds to minutes of pinned CPU, or into an abrupt thread death, denying service to\\nthe embedding application. No authentication, special configuration, or model file is\\nrequired beyond the application having selected one of the two built-in finders.\\n\\n\\n\\n\\n\\nThis issue affects Apache OpenNLP: from 2.0.0 through 2.5.11; from 3.0.0-M1 through\\n3.0.0-M5.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nUsers are recommended to upgrade to version 2.5.12, or to 3.0.0-M6 for users tracking the\\n3.0.0 milestone line, which fix the issue.\"}],\"affected\":[{\"source\":\"security@apache.org\",\"affectedData\":[{\"vendor\":\"Apache Software Foundation\",\"product\":\"Apache OpenNLP\",\"defaultStatus\":\"unaffected\",\"collectionURL\":\"https://repo.maven.apache.org/maven2\",\"packageName\":\"org.apache.opennlp:opennlp-core\",\"packageURL\":\"pkg:maven/org.apache.opennlp/opennlp-core\",\"versions\":[{\"version\":\"3.0.0-M1\",\"lessThan\":\"3.0.0-M6\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Apache Software Foundation\",\"product\":\"Apache OpenNLP\",\"defaultStatus\":\"unaffected\",\"collectionURL\":\"https://repo.maven.apache.org/maven2\",\"packageName\":\"org.apache.opennlp:opennlp-tools\",\"packageURL\":\"pkg:maven/org.apache.opennlp/opennlp-tools\",\"versions\":[{\"version\":\"2.0.0\",\"lessThan\":\"2.5.12\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV40\":[{\"source\":\"security@apache.org\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"4.0\",\"vectorString\":\"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X\",\"baseScore\":10.0,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"attackRequirements\":\"NONE\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"vulnConfidentialityImpact\":\"HIGH\",\"vulnIntegrityImpact\":\"HIGH\",\"vulnAvailabilityImpact\":\"HIGH\",\"subConfidentialityImpact\":\"HIGH\",\"subIntegrityImpact\":\"HIGH\",\"subAvailabilityImpact\":\"HIGH\",\"exploitMaturity\":\"NOT_DEFINED\",\"confidentialityRequirement\":\"NOT_DEFINED\",\"integrityRequirement\":\"NOT_DEFINED\",\"availabilityRequirement\":\"NOT_DEFINED\",\"modifiedAttackVector\":\"NOT_DEFINED\",\"modifiedAttackComplexity\":\"NOT_DEFINED\",\"modifiedAttackRequirements\":\"NOT_DEFINED\",\"modifiedPrivilegesRequired\":\"NOT_DEFINED\",\"modifiedUserInteraction\":\"NOT_DEFINED\",\"modifiedVulnConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedVulnIntegrityImpact\":\"NOT_DEFINED\",\"modifiedVulnAvailabilityImpact\":\"NOT_DEFINED\",\"modifiedSubConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedSubIntegrityImpact\":\"NOT_DEFINED\",\"modifiedSubAvailabilityImpact\":\"NOT_DEFINED\",\"Safety\":\"NOT_DEFINED\",\"Automatable\":\"NOT_DEFINED\",\"Recovery\":\"NOT_DEFINED\",\"valueDensity\":\"NOT_DEFINED\",\"vulnerabilityResponseEffort\":\"NOT_DEFINED\",\"providerUrgency\":\"NOT_DEFINED\"}}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-09-11T17:57:46.105698Z\",\"id\":\"CVE-2026-82617\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"yes\"},{\"technicalImpact\":\"total\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-1333\"}]}],\"references\":[{\"url\":\"https://lists.apache.org/thread/spzhcxxszqdpppg70m1zz2l3mv29mhl3\",\"source\":\"security@apache.org\"},{\"url\":\"http://www.openwall.com/lists/oss-security/2026/09/11/10\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"http://www.openwall.com/lists/oss-security/2026/09/11/10\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2026-09-11T21:07:10.400Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-82617\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-09-11T17:57:46.105698Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-1333\", \"description\": \"CWE-1333 Inefficient Regular Expression Complexity\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-09-11T17:57:33.970Z\"}}], \"cna\": {\"title\": \"Apache OpenNLP, Apache OpenNLP: ReDoS / stack exhaustion in RegexNameFinderFactory built-in EMAIL and URL patterns\", \"source\": {\"discovery\": \"UNKNOWN\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"n0mi1k\"}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV4_0\": {\"Safety\": \"NOT_DEFINED\", \"version\": \"4.0\", \"Recovery\": \"NOT_DEFINED\", \"baseScore\": 10, \"Automatable\": \"NOT_DEFINED\", \"attackVector\": \"NETWORK\", \"baseSeverity\": \"CRITICAL\", \"valueDensity\": \"NOT_DEFINED\", \"vectorString\": \"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H\", \"exploitMaturity\": \"NOT_DEFINED\", \"providerUrgency\": \"NOT_DEFINED\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"NONE\", \"privilegesRequired\": \"NONE\", \"subIntegrityImpact\": \"HIGH\", \"vulnIntegrityImpact\": \"HIGH\", \"subAvailabilityImpact\": \"HIGH\", \"vulnAvailabilityImpact\": \"HIGH\", \"subConfidentialityImpact\": \"HIGH\", \"vulnConfidentialityImpact\": \"HIGH\", \"vulnerabilityResponseEffort\": \"NOT_DEFINED\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"vendor\": \"Apache Software Foundation\", \"product\": \"Apache OpenNLP\", \"versions\": [{\"status\": \"affected\", \"version\": \"3.0.0-M1\", \"lessThan\": \"3.0.0-M6\", \"versionType\": \"semver\"}], \"packageURL\": \"pkg:maven/org.apache.opennlp/opennlp-core\", \"packageName\": \"org.apache.opennlp:opennlp-core\", \"collectionURL\": \"https://repo.maven.apache.org/maven2\", \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"Apache Software Foundation\", \"product\": \"Apache OpenNLP\", \"versions\": [{\"status\": \"affected\", \"version\": \"2.0.0\", \"lessThan\": \"2.5.12\", \"versionType\": \"semver\"}], \"packageURL\": \"pkg:maven/org.apache.opennlp/opennlp-tools\", \"packageName\": \"org.apache.opennlp:opennlp-tools\", \"collectionURL\": \"https://repo.maven.apache.org/maven2\", \"defaultStatus\": \"unaffected\"}], \"references\": [{\"url\": \"https://lists.apache.org/thread/spzhcxxszqdpppg70m1zz2l3mv29mhl3\", \"tags\": [\"vendor-advisory\"]}], \"x_generator\": {\"engine\": \"Vulnogram 1.0.3\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"The two built-in name-finder patterns exposed by\\nopennlp.tools.namefind.RegexNameFinderFactory - DEFAULT_REGEX_NAME_FINDER.EMAIL\\nand DEFAULT_REGEX_NAME_FINDER.URL\\u00a0- contain ambiguous nested quantifiers. An\\napplication that obtains these finders through\\nRegexNameFinderFactory.getDefaultRegexNameFinders(...) and then applies them to\\nuntrusted text through RegexNameFinder.find(String[]) or RegexNameFinder.find(String)\\ncan be driven into super-linear backtracking or into unbounded matcher recursion by a\\nsmall crafted input.\\n\\n\\n\\n\\n\\nFor the EMAIL pattern, a long run of local-part characters that is never followed by an\\n@ forces the matcher to re-scan to end-of-input from every starting offset. Cost grows\\nquadratically with input length: an input of approximately 32 KB consumes several seconds\\nof CPU in a single find() call and returns no match, and each doubling of the input\\nmultiplies the cost roughly four-fold.\\n\\n\\n\\n\\n\\nFor the URL pattern, the query-string sub-expression nests a capturing repetition inside\\nan outer repetition. The JDK matcher recurses once per query token, so an input of\\napproximately 4 KB containing many \u0026-separated tokens exhausts the thread stack and\\ncauses java.lang.StackOverflowError to propagate out of find(), terminating the\\ncalling thread. On a thread created with a smaller stack (for example -Xss512k, typical\\nof server worker pools) approximately 1 KB is sufficient.\\n\\n\\n\\n\\n\\nIn both cases an attacker who can supply text for analysis can convert a single request\\ninto seconds to minutes of pinned CPU, or into an abrupt thread death, denying service to\\nthe embedding application. No authentication, special configuration, or model file is\\nrequired beyond the application having selected one of the two built-in finders.\\n\\n\\n\\n\\n\\nThis issue affects Apache OpenNLP: from 2.0.0 through 2.5.11; from 3.0.0-M1 through\\n3.0.0-M5.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nUsers are recommended to upgrade to version 2.5.12, or to 3.0.0-M6 for users tracking the\\n3.0.0 milestone line, which fix the issue.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003e\u003cspan\u003eThe two built-in name-finder patterns exposed by\\n\u003c/span\u003e\u003ccode\u003eopennlp.tools.namefind.RegexNameFinderFactory\u003c/code\u003e\u003cspan\u003e - \u003c/span\u003e\u003ccode\u003eDEFAULT_REGEX_NAME_FINDER.EMAIL\u003c/code\u003e\u003cspan\u003e\\nand \u003c/span\u003e\u003ccode\u003eDEFAULT_REGEX_NAME_FINDER.URL\u003c/code\u003e\u003cspan\u003e\u0026nbsp;- contain ambiguous nested quantifiers. An\\napplication that obtains these finders through\\n\u003c/span\u003e\u003ccode\u003eRegexNameFinderFactory.getDefaultRegexNameFinders(...)\u003c/code\u003e\u003cspan\u003e and then applies them to\\nuntrusted text through \u003c/span\u003e\u003ccode\u003eRegexNameFinder.find(String[])\u003c/code\u003e\u003cspan\u003e or \u003c/span\u003e\u003ccode\u003eRegexNameFinder.find(String)\u003c/code\u003e\u003cspan\u003e\\ncan be driven into super-linear backtracking or into unbounded matcher recursion by a\\nsmall crafted input.\u003c/span\u003e\u003c/p\u003e\\n\\n\u003cp\u003eFor the EMAIL pattern, a long run of local-part characters that is never followed by an\\n\u003ccode\u003e@\u003c/code\u003e forces the matcher to re-scan to end-of-input from every starting offset. Cost grows\\nquadratically with input length: an input of approximately 32 KB consumes several seconds\\nof CPU in a single \u003ccode\u003efind()\u003c/code\u003e call and returns no match, and each doubling of the input\\nmultiplies the cost roughly four-fold.\u003c/p\u003e\\n\\n\u003cp\u003eFor the URL pattern, the query-string sub-expression nests a capturing repetition inside\\nan outer repetition. The JDK matcher recurses once per query token, so an input of\\napproximately 4 KB containing many \u003ccode\u003e\u0026amp;\u003c/code\u003e-separated tokens exhausts the thread stack and\\ncauses \u003ccode\u003ejava.lang.StackOverflowError\u003c/code\u003e to propagate out of \u003ccode\u003efind()\u003c/code\u003e, terminating the\\ncalling thread. On a thread created with a smaller stack (for example \u003ccode\u003e-Xss512k\u003c/code\u003e, typical\\nof server worker pools) approximately 1 KB is sufficient.\u003c/p\u003e\\n\\n\u003cp\u003eIn both cases an attacker who can supply text for analysis can convert a single request\\ninto seconds to minutes of pinned CPU, or into an abrupt thread death, denying service to\\nthe embedding application. No authentication, special configuration, or model file is\\nrequired beyond the application having selected one of the two built-in finders.\u003c/p\u003e\\n\\n\u003cp\u003eThis issue affects Apache OpenNLP: from 2.0.0 through 2.5.11; from 3.0.0-M1 through\\n3.0.0-M5.\u003c/p\u003e\u003cp\u003e\\n\\n\u003c/p\u003e\u003cp\u003eUsers are recommended to upgrade to version 2.5.12, or to 3.0.0-M6 for users tracking the\\n3.0.0 milestone line, which fix the issue.\u003c/p\u003e\\n\\n\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\", \"base64\": false}]}], \"providerMetadata\": {\"orgId\": \"f0158376-9dc2-43b6-827c-5f631a4d8d09\", \"shortName\": \"apache\", \"dateUpdated\": \"2026-09-11T17:50:53.639Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-82617\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-09-11T21:07:10.400Z\", \"dateReserved\": \"2026-08-30T07:51:33.177Z\", \"assignerOrgId\": \"f0158376-9dc2-43b6-827c-5f631a4d8d09\", \"datePublished\": \"2026-09-11T17:50:53.639Z\", \"assignerShortName\": \"apache\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…