CVE-2025-12738

N/A Unknown

📋 TL;DR

Neo4j Enterprise edition is vulnerable to an information disclosure attack where authenticated users can infer property values they shouldn't have access to. Attackers can enumerate possible property values by observing error messages when attempting to SET properties. This affects users with legitimate database access but insufficient read permissions.

💻 Affected Systems

Products:
  • Neo4j Enterprise Edition
Versions: All versions prior to 2025.11.2 and 5.26.17
Operating Systems: All platforms running Neo4j
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Enterprise edition. Requires attacker to have some legitimate database access.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Sensitive data exposure including personally identifiable information, credentials, or business-critical data could be extracted by authenticated attackers.

🟠

Likely Case

Attackers with legitimate access can infer values of properties they shouldn't have read access to, potentially exposing sensitive configuration or user data.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to low-privileged users attempting to infer non-critical data.

🌐 Internet-Facing: MEDIUM - Requires authenticated access but internet-facing instances are more exposed to credential compromise attempts.
🏢 Internal Only: MEDIUM - Internal attackers with legitimate access can exploit this vulnerability to escalate privileges or access restricted data.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Simple enumeration attack using error message observation.

Exploitation requires authenticated access and knowledge of property enumeration techniques.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2025.11.2 or 5.26.17 and above

Vendor Advisory: https://neo4j.com/security/CVE-2025-12738

Restart Required: Yes

Instructions:

1. Download Neo4j Enterprise 2025.11.2 or 5.26.17+ from official sources. 2. Stop Neo4j service. 3. Backup database and configuration. 4. Install updated version. 5. Restart Neo4j service. 6. Verify version and functionality.

🔧 Temporary Workarounds

Restrict Property Access

all

Implement strict property-level access controls to limit what authenticated users can attempt to SET.

Use Neo4j security procedures to configure fine-grained property access controls

Error Message Obfuscation

all

Configure Neo4j to return generic error messages that don't reveal property value information.

Configure neo4j.conf with appropriate error handling settings

🧯 If You Can't Patch

  • Implement strict network segmentation and limit database access to only necessary users
  • Enhance monitoring for unusual SET property attempts and error message patterns

🔍 How to Verify

Check if Vulnerable:

Check Neo4j version using :sysinfo command or configuration files. If version is below 2025.11.2 or 5.26.17, system is vulnerable.

Check Version:

CALL dbms.components() YIELD versions, edition RETURN versions, edition;

Verify Fix Applied:

After patching, verify version is 2025.11.2 or 5.26.17+ and test that SET property operations return consistent error messages regardless of property value.

📡 Detection & Monitoring

Log Indicators:

  • Multiple SET property operations with different values returning error messages
  • Unusual pattern of property modification attempts by single user

Network Indicators:

  • Repeated Cypher queries attempting to SET properties with varying values

SIEM Query:

source="neo4j.log" AND ("SET" AND "property" AND "error") | stats count by src_ip, user

🔗 References

📤 Share & Export