CVE-2023-39913 Vulnerability Analysis & Exploit Details

CVE-2023-39913
Vulnerability Scoring

8.8
/10
Severe Risk

Cybersecurity professionals consider CVE-2023-39913 an immediate threat requiring urgent mitigation.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: Low
    Some privileges are necessary to exploit the vulnerability.
  • Scope: Unchanged
    Exploit remains within the originally vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2023-39913 Details

Status: Modified

Last updated: 🕔 13 Feb 2025, 17:16 UTC
Originally published on: 🕗 08 Nov 2023, 08:15 UTC

Time between publication and last update: 463 days

CVSS Release: version 3

CVSS3 Source

nvd@nist.gov

CVSS3 Type

Primary

CVSS3 Vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

CVE-2023-39913 Vulnerability Summary

CVE-2023-39913: 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.

Assessing the Risk of CVE-2023-39913

Access Complexity Graph

The exploitability of CVE-2023-39913 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2023-39913

CVE-2023-39913 presents an accessible attack vector with minimal effort required. Restricting access controls and implementing security updates are critical to reducing exploitation risks.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2023-39913, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2023-39913, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: High
    Exploiting CVE-2023-39913 can result in unauthorized access to sensitive data, severely compromising data privacy.
  • Integrity: High
    CVE-2023-39913 could allow unauthorized modifications to data, potentially affecting system reliability and trust.
  • Availability: High
    CVE-2023-39913 can disrupt system operations, potentially causing complete denial of service (DoS).

Exploit Prediction Scoring System (EPSS)

The EPSS score estimates the probability that this vulnerability will be exploited in the near future.

EPSS Score: 0.065% (probability of exploit)

EPSS Percentile: 31.53% (lower percentile = lower relative risk)
This vulnerability is less risky than approximately 68.47% of others.

CVE-2023-39913 References

External References

CWE Common Weakness Enumeration

CWE-502

CAPEC Common Attack Pattern Enumeration and Classification

  • Object Injection CAPEC-586 An adversary attempts to exploit an application by injecting additional, malicious content during its processing of serialized objects. Developers leverage serialization in order to convert data or state into a static, binary format for saving to disk or transferring over a network. These objects are then deserialized when needed to recover the data/state. By injecting a malformed object into a vulnerable application, an adversary can potentially compromise the application by manipulating the deserialization process. This can result in a number of unwanted outcomes, including remote code execution.

Vulnerable Configurations

  • cpe:2.3:a:apache:uimaj:2.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.4.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.4.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.6.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.6.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.8.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.8.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.8.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.8.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.9.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.9.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.10.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.10.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.10.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.10.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:2.10.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:2.10.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.0.0:alpha:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.0.0:alpha:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.0.0:alpha2:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.0.0:alpha2:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.0.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.0.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:uimaj:3.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:uimaj:3.4.1:*:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2023-39913: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2025-26205 – Lua 5.4.7, when the debug library is used, has a out-of-bounds read and segmentation violation in mainpositionTV in ltable.c. NOTE: this is dispute...
  • CVE-2025-26204 – Lua 5.4.7, when the debug library is used, has a out-of-bounds read and segmentation violation in equalkey in ltable.c. NOTE: this is disputed beca...
  • CVE-2025-2129 – A vulnerability was found in Mage AI 0.9.75. It has been classified as problematic. This affects an unknown part. The manipulation leads to insecur...
  • CVE-2025-2127 – A vulnerability was found in JoomlaUX JUX Real Estate 3.4.0 on Joomla. It has been classified as problematic. Affected is an unknown function of th...
  • CVE-2025-2126 – A vulnerability was found in JoomlaUX JUX Real Estate 3.4.0 on Joomla and classified as critical. This issue affects some unknown processing of the...