Neo4j APOC 5.x/4.x XXE in apoc.import.graphml (before 5.5.0/4.4.0.14)
CVE-2023-23926 Published on February 16, 2023

APOC (Awesome Procedures on Cypher) is an add-on library for Neo4j. An XML External Entity (XXE) vulnerability found in the apoc.import.graphml procedure of APOC core plugin prior to version 5.5.0 and 4.4.0.14 (4.4 branch) in Neo4j graph database. XML External Entity (XXE) injection occurs when the XML parser allows external entities to be resolved. The XML parser used by the apoc.import.graphml procedure was not configured in a secure way and therefore allowed this. External entities can be used to read local files, send HTTP requests, and perform denial-of-service attacks on the application. Abusing the XXE vulnerability enabled assessors to read local files remotely. Although with the level of privileges assessors had this was limited to one-line files. With the ability to write to the database, any file could have been read. Additionally, assessors noted, with local testing, the server could be crashed by passing in improperly formatted XML. The minimum version containing a patch for this vulnerability is 5.5.0. Those who cannot upgrade the library can control the allowlist of the procedures that can be used in your system.

Github Repository Github Repository NVD

Vulnerability Analysis

CVE-2023-23926 is exploitable with network access, and requires small amount of user privileges. This vulnerability is consided to have a high level of attack complexity. The potential impact of an exploit of this vulnerability is considered to have a small impact on confidentiality, a small impact on integrity, and a high impact on availability.

Attack Vector:
NETWORK
Attack Complexity:
HIGH
Privileges Required:
LOW
User Interaction:
NONE
Scope:
UNCHANGED
Confidentiality Impact:
LOW
Integrity Impact:
NONE
Availability Impact:
HIGH

Weakness Type

What is a XXE Vulnerability?

The software processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.

CVE-2023-23926 has been classified to as a XXE vulnerability or weakness.


Products Associated with CVE-2023-23926

stack.watch emails you whenever new vulnerabilities are published in Neo4j Awesome Procedures On Cyper or Neo4j. Just hit a watch button to start following.

 
 

Affected Versions

neo4j apoc Version < 4.4.0.14 is affected by CVE-2023-23926

Vulnerable Packages

The following package name and versions may be associated with CVE-2023-23926

Package Manager Vulnerable Package Versions Fixed In
maven org.neo4j.procedure:apoc-core >= 5.0.0, < 5.5.0 5.5.0
maven org.neo4j.procedure:apoc-core < 4.4.0.14 4.4.0.14
maven org.neo4j.procedure:apoc < 4.4.0.14 4.4.0.14
maven org.neo4j.procedure:apoc >= 5.0.0, < 5.5.0 5.5.0

Exploit Probability

EPSS
0.20%
Percentile
41.65%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.