Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
2.7

CVE-2026-97228: Rapid7 Bulk Export can run unintended queries

CVE-2026-97228 · published 24 days ago
Summary

The Bulk Export tool in Rapid7 Platform (versions 0.2.5 to 0.6.1) accepts an export identifier that is inserted directly into a GraphQL request. If a malicious or compromised client supplies a specially crafted identifier, extra queries can be executed using the legitimate user's API key. Upgrade to version 0.6.2 or later, which safely passes the identifier as a separate parameter.

What to do
  • Update rapid7 platform to version 0.6.2 or later.
Affected software
VendorProductAffected versions
rapid7 platform < 0.6.2
Original advisory text
Rapid7 Bulk Export MCP — GraphQL Query Injection in Export Status Lookup
Rapid7 Bulk Export MCP versions 0.2.5 through 0.6.1 suffer from a GraphQL query injection issue in the export-status component (`get_export_status` in `src/export_manager.py`), whereby the `export_id` value — an unvalidated MCP tool argument reaching the function via the `check_rapid7_export_status` and `download_rapid7_export` tools — is interpolated directly into the GraphQL query string. A crafted `export_id` containing quote and brace characters can terminate the intended `export(id: "...")` selection early and append attacker-controlled root-level selections (for example, schema introspection), producing a single well-formed GraphQL document that is then sent to the Rapid7 export API under the operator's own API key.

Notably, this issue does not grant an existing actor any access they do not already have: every injected query executes within the operator's own already-authenticated API scope, using the operator's own valid API key, and cannot cross a tenant or account boundary. A directly-malicious operator gains nothing they could not already do by calling the API directly; the realistic exposure is limited to a compromised or careless upstream MCP client, or indirect prompt injection forwarding an unvalidated identifier. This is fixed in version 0.6.2, which passes `export_id` as a parameterized GraphQL variable (`$exportId: ID!`).
Fix within
Internet-facing 60 days
Internal At next upgrade
  • Not known to be exploited
  • Needs hands-on effort to exploit
  • Gives an attacker partial control
Severity
2.7 Low
Exploitation
<1% chance of attack within 30 days
Type
CWE-943Improper Neutralization of Special Elements in Data Query Logic
Timeline
Published25 Sep 2026
Updated19 Oct 2026
First seen25 Sep 2026
Sources
CVE-2026-97228 · MITRE
Track software like this
Free during beta