CVE-2023-23926
| Severity | 8.1 High CVSS 3.1 2 scores |
|---|---|
| Fixed in | 5.5.0, 4.4.0.14 |
| Weakness | XML external entity (XXE) (CWE-611) |
| Published | 16 Feb 2023 |
| Updated | 17 Jun 2026 |
Description
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.
Exploitation status
No public exploit
No exploit has been reported in the sources we check. Published 3 years ago.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV not listed
- CISA Vulnrichment exploitation: none
- Indexed PoC none indexed
- EPSS 0.89% chance in 30 days
Waratek protection
Waratek has a rule that blocks attacks on this vulnerability.
- Protection full XXE
- Action available security rule
- Review automated Inferred
- Record active
| Decided by | A vulnerability class already blocked by an ARMR security rule |
|---|---|
| Finding | Protected by Waratek's ARMR xxe security rule, which blocks this class of attack at the JVM level without a rule written for this CVE specifically. The CVE's weakness is CWE-611: XML External Entity Reference. |
| Candidate fix | https://github.com/neo4j/apoc/pull/310 : a pull request: the change under review |
How to mitigate CVE-2023-23926
Upgrade the affected software to a release that fixes it: 5.5.0 or 4.4.0.14. Until you can, Waratek RASP blocks exploitation with its XXE rule. It runs inside the Java application, with no code changes.
CVSS
8.1 HIGH
v3.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
2 metrics
CVSS
8.1 HIGH v3.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
2 metrics
We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| CVSS 3.1 | 8.1 | HIGH | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H |
NVD | Primary | published |
| CVSS 3.1 | 5.9 | MEDIUM | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:H |
security-advisories@github.com | Secondary |
Affected software and releases
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
org.neo4j.procedure:apoc-core |
5.0.0 | 5.5.0 |
unbounded |
org.neo4j.procedure:apoc-core |
0 | 4.4.0.14 |
unbounded |
Products and versions
2 products, 3 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| nvd | neo4j | awesome procedures on cyper | generic | < 5.5.0 |
| osv | org.neo4j.procedure | apoc-core | generic | < 4.4.0.14 · ≥ 5.0.0 and < 5.5.0 |
References
Timeline
Timeline
| Published | 2023-02-16 | By the CVE Program. |
|---|---|---|
| NVD record modified | 2026-06-17 | NVD's own last-modified date for this record. |