---
id: "CVE-2026-123356"
page: "https://infrastack.ai/live/CVE-2026-123356"
kind: "vulnerability"
aliases: ["CVE-2026-123356"]
title: "GROBID: unauthenticated training endpoint leaks threads until service stops"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["grobid", "java", "package", "self-hosted"]
not_affected_if: ["api-not-exposed", "version-0.9.1-or-later"]
published_at: "2026-11-06T19:17:44+00:00"
first_seen_at: "2026-11-06T19:43:48+00:00"
updated_at: "2026-11-06T19:45:52+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-123356", "first_seen_at": "2026-11-06T19:43:48+00:00"}]
exploit_sources: []
---

# GROBID: unauthenticated training endpoint leaks threads until service stops

Link for people: https://infrastack.ai/live/CVE-2026-123356 (this .md is for agents)

GROBID, a machine learning tool for extracting data from scholarly documents, creates a new thread pool on every call to its unauthenticated /api/modelTraining endpoint and never shuts it down. Repeated requests exhaust JVM and operating-system thread capacity, so an attacker can slow or stop document processing.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the GROBID version the server runs; affected if it is below `0.9.1`.
- Look for a publicly reachable GROBID HTTP port that exposes `/api/modelTraining`.
- Monitor the JVM thread count of the GROBID process for steady growth.

## Fix

- GROBID: move to `0.9.1`.

## Timeline

- 2026-11-06T19:43:48+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-123356

## Documents

- [advisory] Vendor advisory: github.com https://github.com/grobidOrg/grobid/security/advisories/GHSA-g2r5-4c8r-c84f
- [fix] Patch: github.com https://github.com/grobidOrg/grobid/commit/3227e9a6a990ec1687173045f119c24e17d10103
- [fix] Release notes: github.com https://github.com/grobidOrg/grobid/releases/tag/0.9.1

## From the sources

GROBID is machine learning software for extracting information from scholarly documents. Prior to 0.9.1, the unauthenticated /api/modelTraining endpoint calls GrobidRestProcessTraining.trainModel in GrobidRestProcessTraining.java, where each request creates Executors.newFixedThreadPool(1), submits a training task, and leaves the executor running. Repeated requests permanently retain JVM worker threads and can exhaust process or operating-system thread capacity, degrading or stopping request processing. This issue is fixed in version 0.9.1.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
