CVE-2021-32624

7.5 HIGH

📋 TL;DR

Keystone 5 CMS has an access control bypass vulnerability that allows attackers to extract private field values through query infrastructure manipulation. This affects all Keystone 5 deployments using private fields or lists with read access controls. Attackers can use this as an oracle attack to gradually reveal sensitive information they shouldn't have access to.

💻 Affected Systems

Products:
  • Keystone 5
Versions: All versions prior to any patch (no patch exists)
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments using private fields or lists with read access controls configured.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete exposure of all private field data including sensitive user information, credentials, or proprietary business data stored in private fields.

🟠

Likely Case

Partial exposure of private field metadata and some field values, enabling attackers to gather intelligence about system structure and potentially extract sensitive information.

🟢

If Mitigated

Limited information leakage through timing or error-based side channels, but no direct data exposure if proper network segmentation and monitoring are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Attack requires understanding of Keystone query infrastructure and involves iterative oracle attacks to extract information.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: None

Vendor Advisory: https://github.com/keystonejs/keystone-5/security/advisories/GHSA-27g8-r9vw-765x

Restart Required: No

Instructions:

No official patch available. Monitor Keystone security advisories for updates.

🧯 If You Can't Patch

  • Consider migrating sensitive data out of Keystone private fields to more secure storage solutions.
  • Implement strict network access controls and monitoring for Keystone instances.

🔍 How to Verify

Check if Vulnerable:

Check if you're running Keystone 5 with private fields or lists configured.

Check Version:

Check package.json for keystone version or run: npm list keystone

Verify Fix Applied:

No fix available to verify.

📡 Detection & Monitoring

Log Indicators:

  • Unusual query patterns to private fields
  • Multiple failed access attempts followed by successful queries
  • Abnormal timing in query responses

Network Indicators:

  • Repeated similar queries with slight variations
  • Unusual query parameter patterns

SIEM Query:

Look for patterns of repeated GraphQL queries with field enumeration attempts

🔗 References

📤 Share & Export