Read the docs
TI-2023-20812 Aliases CVE-2023-39913GHSA-5r8j-qmcm-7g7q

Improper input validation in Apache UIMA Java SDK Core

Priority MEDIUM 43CWE-20Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Partial Red Hat: 1 without a fix

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-502.

Summary

Deserialization of Untrusted Data, Improper Input Validation vulnerability in Apache UIMA Java SDK, Apache UIMA Java SDK, Apache UIMA Java SDK, Apache UIMA Java SDK.This issue affects Apache UIMA Java SDK: before 3.5.0. Users are recommended to upgrade to version 3.5.0, which fixes the issue. There are several locations in the code where serialized Java objects are deserialized without verifying the data. This affects in particular: * the deserialization of a Java-serialized CAS, but also other binary CAS formats that include TSI information using the CasIOUtils class; * the CAS Editor Eclipse plugin which uses the the CasIOUtils class to load data; * the deserialization of a Java-serialized CAS of the Vinci Analysis Engine service which can receive using Java-serialized CAS objects over network connections; * the CasAnnotationViewerApplet and the CasTreeViewerApplet; * the checkpointing feature of the CPE module. Note that the UIMA framework by default does not start any remotely accessible services (i.e. Vinci) that would be vulnerable to this issue. A user or developer would need to make an active choice to start such a service. However, users or developers may use the CasIOUtils in their own applications and services to parse serialized CAS data. They are affected by this issue unless they ensure that the data passed to CasIOUtils is not a serialized Java object. When using Vinci or using CasIOUtils in own services/applications, the unrestricted deserialization of Java-serialized CAS files may allow arbitrary (remote) code execution. As a remedy, it is possible to set up a global or context-specific ObjectInputFilter (cf. https://openjdk.org/jeps/290  and  https://openjdk.org/jeps/415 ) if running UIMA on a Java version that supports it. Note that Java 1.8 does not support the ObjectInputFilter, so there is no remedy when running on this out-of-support platform. An upgrade to a recent Java version is strongly recommended if you need to secure an UIMA version that is affected by this issue. To mitigate the issue on a Java 9+ platform, you can configure a filter pattern through the "jdk.serialFilter" system property using a semicolon as a separator: To allow deserializing Java-serialized binary CASes, add the classes: * org.apache.uima.cas.impl.CASCompleteSerializer * org.apache.uima.cas.impl.CASMgrSerializer * org.apache.uima.cas.impl.CASSerializer * java.lang.String To allow deserializing CPE Checkpoint data, add the following classes (and any custom classes your application uses to store its checkpoints): * org.apache.uima.collection.impl.cpm.CheckpointData * org.apache.uima.util.ProcessTrace * org.apache.uima.util.impl.ProcessTrace_impl * org.apache.uima.collection.base_cpm.SynchPoint Make sure to use "!*" as the final component to the filter pattern to disallow deserialization of any classes not listed in the pattern. Apache UIMA 3.5.0 uses tightly scoped ObjectInputFilters when reading Java-serialized data depending on the type of data being expected. Configuring a global filter is not necessary with this version.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.01483 74th percentileScored 2026-11-07
Fix Partial Apache UIMA Java SDK Core (Apache Software Foundation): 3.5.0Apache UIMA Java SDK CPE (Apache Software Foundation): 3.5.0+3 more productsRed Hat: 1 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ApacheApache UIMA Java SDK Corebefore 3.5.03.5.0Patch availableCNA
ApacheApache UIMA Java SDK CPEbefore 3.5.03.5.0Patch availableCNA
ApacheApache UIMA Java SDK Vinci adapterbefore 3.5.03.5.0Patch availableCNA
ApacheApache UIMA Java SDK toolsbefore 3.5.03.5.0Patch availableCNA
—org.apache.uima:uimaj (Maven)before 3.5.03.5.0Patch availableGHSA-5r8j-qmcm-7g7q
  • Apache UIMA Java SDK Core VendorApache Affected before 3.5.0 Fixed in 3.5.0 Patch available CNA
  • Apache UIMA Java SDK CPE VendorApache Affected before 3.5.0 Fixed in 3.5.0 Patch available CNA
  • Apache UIMA Java SDK Vinci adapter VendorApache Affected before 3.5.0 Fixed in 3.5.0 Patch available CNA
  • Apache UIMA Java SDK tools VendorApache Affected before 3.5.0 Fixed in 3.5.0 Patch available CNA
  • org.apache.uima:uimaj (Maven) Vendor— Affected before 3.5.0 Fixed in 3.5.0 Patch available GHSA-5r8j-qmcm-7g7q

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:apache:uimaj:*:*:*:*:*:*:*:*before 3.5.0VulnerableApache
  • cpe:2.3:a:apache:uimaj:*:*:*:*:*:*:*:* Versions before 3.5.0 Vulnerable ·Apache

Remediation

  • Fix · CNA Apache UIMA Java SDK Core (Apache Software Foundation) Fixed in 3.5.0
  • Fix · CNA Apache UIMA Java SDK CPE (Apache Software Foundation) Fixed in 3.5.0
  • Fix · CNA Apache UIMA Java SDK Vinci adapter (Apache Software Foundation) Fixed in 3.5.0
  • Fix · CNA Apache UIMA Java SDK tools (Apache Software Foundation) Fixed in 3.5.0
  • Fix · GHSA-5r8j-qmcm-7g7q org.apache.uima:uimaj (Maven) Fixed in 3.5.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat JBoss Data Virtualization 6AffectedNo fix planned: Out of support scope
Not affected: 2 products
  • Red Hat Fuse 7
  • Red Hat Integration Camel K 1

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-39913
  2. 2026-10-03 Alias added: GHSA-5r8j-qmcm-7g7q

References

  • TI-2017-11465 XML external entity injection in Apache UIMA CVSS 3.0MEDIUM 6.5
  • TI-2022-13992 Apache UIMA prior to 3.3.1 has a path traversal vulnerability when extracting (PEAR) archives CVSS 3.1HIGH 7.5

Sources