WaratekVRT Sign in

CVE-2021-34371 Neo4j

Affected softwareNeo4j
Severity9.8 Critical CVSS 3.1 2 scores
Fixed in3.5.0
WeaknessDeserialization of untrusted data (CWE-502)
Published5 Aug 2021
Updated17 Jun 2026

Description

Neo4j through 3.4.18 (with the shell server enabled) exposes an RMI service that arbitrarily deserializes Java objects, e.g., through setSessionVariable. An attacker can abuse this for remote code execution because there are dependencies with exploitable gadget chains.

Exploitation status

Proof of concept only

A proof of concept exists, but no reviewed exploit catalogue lists this CVE.

  • CISA KEV not listed
  • VulnCheck KEV not listed
  • CISA Vulnrichment no assessment published
  • Indexed PoC 2 indexed Published artifacts you can open, in GitHub PoC; first seen 2021-09-06.
  • EPSS 13% chance in 30 days A model's forecast, not a report of exploitation. Higher than 96% of all scored CVEs.

1 of these are GitHub repositories with fewer than 5 stars. They are listed for reference and don't count toward the exploitation status above.

IndexArtifactStarsFirst seen
GitHub PoC CVE-2021-34371.jar 32 2021-09-06
GitHub PoC python exploit - Neo4j 3.4.18 - RMI based Remote Code Execution (RCE) 2025-04-21

Waratek protection

Protected by Waratek

Waratek has a rule that blocks attacks on this vulnerability.

Decided by A vulnerability class already blocked by an ARMR security rule
Finding Protected by Waratek's ARMR deserialization 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-502: Deserialization of Untrusted Data.

How to mitigate CVE-2021-34371

Upgrade Neo4j to 3.5.0 or later. Until you can, Waratek RASP blocks exploitation with its deserialization and process rules. It runs inside the Java application, with no code changes.

Waratek RASP Runtime protection for Java applications

CVSS

9.8 CRITICAL v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/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.

VersionScoreBandVectorAssignerType
CVSS 3.1 9.8 CRITICAL CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H NVD Primary published
CVSS 2.0 7.5 none AV:N/AC:L/Au:N/C:P/I:P/A:P NVD Primary

Affected software and releases

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
org.neo4j:neo4j 0 3.5.0 unbounded

Products and versions

2 products, 2 version entries
SourceVendorProductSchemeAffected versions
nvd neo4j neo4j generic ≤ 3.4.18
osv org.neo4j neo4j generic < 3.5.0

References

URLTags
https://github.com/neo4j/neo4j PACKAGE
https://www.exploit-db.com/exploits/50170 WEB

Timeline

Published2021-08-05By the CVE Program.
NVD record modified2026-06-17NVD's own last-modified date for this record.