CVE-2026-43825

Untrusted Java Deserialization in Apache OpenNLP SvmDoccatModel Versions Affected:   before 3.0.0-M4 (libsvm document categorization module; introduced in   OPENNLP-1808 and only present on the 3.x line) Description: SvmDoccatModel.deserialize(InputStream) reads an attacker-controlled stream with java.io.ObjectInputStream and calls readObject() without an ObjectInputFilter installed. ObjectInputStream materialises every class referenced in the stream before the resulting object is cast to SvmDoccatModel, so the cast that follows readObject() executes only after the foreign object graph has already been deserialised in full. If a Java deserialization gadget chain is available on the consumer's classpath, a crafted payload supplied to deserialize() executes arbitrary code in the JVM that loads it. Apache OpenNLP itself does not ship a known gadget chain, so the realistic risk is to downstream applications that embed the libsvm module alongside vulnerable transitive dependencies. The method is public and static, so any caller can pass an untrusted stream to it directly. The practical impact is remote code execution against processes that load SvmDoccatModel instances from untrusted or semi-trusted origins. Mitigation: 3.x users should upgrade to 3.0.0-M4. Users who cannot upgrade immediately should treat all serialized SvmDoccatModel streams as untrusted input unless their provenance is verified, and should avoid invoking SvmDoccatModel.deserialize() on streams supplied by end users or fetched from third-party sources without integrity checks.
References
Link Resource
https://lists.apache.org/thread/c7kom0pgk9cbpfnbooh5m3g85ndf50hn Mailing List Vendor Advisory
http://www.openwall.com/lists/oss-security/2026/07/06/9 Mailing List Third Party Advisory
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:apache:opennlp:3.0.0:m1:*:*:*:*:*:*
cpe:2.3:a:apache:opennlp:3.0.0:m2:*:*:*:*:*:*
cpe:2.3:a:apache:opennlp:3.0.0:m3:*:*:*:*:*:*

History

25 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) Deserialización Java no confiable en Apache OpenNLP SvmDoccatModel Versiones Afectadas: anteriores a 3.0.0-M4 (módulo de categorización de documentos libsvm; introducido en OPENNLP-1808 y solo presente en la línea 3.x) Descripción: SvmDoccatModel.deserialize(InputStream) lee un flujo controlado por un atacante con java.io.ObjectInputStream y llama a readObject() sin un ObjectInputFilter instalado. ObjectInputStream materializa cada clase referenciada en el flujo antes de que el objeto resultante sea convertido a SvmDoccatModel, por lo que la conversión que sigue a readObject() se ejecuta solo después de que el grafo de objetos externo ya haya sido deserializado por completo. Si una cadena de gadgets de deserialización Java está disponible en el classpath del consumidor, una carga útil manipulada suministrada a deserialize() ejecuta código arbitrario en la JVM que la carga. Apache OpenNLP en sí mismo no incluye una cadena de gadgets conocida, por lo que el riesgo realista es para las aplicaciones descendentes que incrustan el módulo libsvm junto con dependencias transitivas vulnerables. El método es público y estático, por lo que cualquier llamador puede pasarle un flujo no confiable directamente. El impacto práctico es la ejecución remota de código contra procesos que cargan instancias de SvmDoccatModel desde orígenes no confiables o semi-confiables. Mitigación: Los usuarios de 3.x deberían actualizar a 3.0.0-M4. Los usuarios que no puedan actualizar inmediatamente deberían tratar todos los flujos serializados de SvmDoccatModel como entrada no confiable a menos que se verifique su procedencia, y deberían evitar invocar SvmDoccatModel.deserialize() en flujos suministrados por usuarios finales u obtenidos de fuentes de terceros sin comprobaciones de integridad.

Information

Published : 2026-07-06 17:16

Updated : 2026-10-25 20:10


NVD link : CVE-2026-43825

Mitre link : CVE-2026-43825

CVE.ORG link : CVE-2026-43825


JSON object : View

Products Affected

apache

  • opennlp
CWE
CWE-502

Deserialization of Untrusted Data