Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-47225

CVE-2026-47225: Typesense Information Disclosure Flaw

CVE-2026-47225 is an information disclosure vulnerability in Typesense that exposes cached search results across different authorization contexts. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-47225 Overview

CVE-2026-47225 is a cache isolation flaw in Typesense, a fast, typo-tolerant search engine. The vulnerability affects versions prior to 29.1 and 30.2 when server-side search result caching is combined with Scoped Search API Keys. Under specific request ordering, cached search results can be reused across requests carrying different Scoped Search API Key constraints. A request may then receive search results that should have been restricted by its embedded filter. The issue is tracked under [CWE-524: Use of Cache Containing Sensitive Information] and impacts confidentiality across scoped authorization contexts. Typesense released fixes in versions 29.1 and 30.2.

Critical Impact

Cached search results can cross authorization boundaries, leaking data restricted by embedded filters in Scoped Search API Keys.

Affected Products

  • Typesense versions prior to 29.1 (29.x branch)
  • Typesense versions prior to 30.2 (30.x branch)
  • Deployments using server-side search result caching with Scoped Search API Keys

Discovery Timeline

  • 2026-06-12 - CVE-2026-47225 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2026-47225

Vulnerability Analysis

Typesense supports Scoped Search API Keys that embed filter clauses to restrict the documents a caller can retrieve from a collection. The server also offers an opt-in search result cache to improve latency on repeated queries. The cache key generation does not fully account for the embedded filter constraints carried by the Scoped Search API Key presented with the request.

When two requests target the same collection with overlapping query parameters but different scoped key constraints, the second request can match a cached entry produced under a different authorization context. The server returns the cached result set without re-evaluating the embedded filter for the current key. Only deployments using both features together are affected.

Root Cause

The root cause is incomplete cache partitioning. The cache lookup omits the embedded filter or scoped key identity from the cache key, allowing cross-tenant result reuse. This is a classic [CWE-524] sensitive cache exposure pattern where authorization state is not part of the cache index.

Attack Vector

An authenticated client holding a Scoped Search API Key issues search requests against a collection where another caller, using a different scoped key, has recently populated the cache. The attacker controls the ordering and parameters of their own requests, increasing the probability of hitting an entry created under a broader or different scope. Exploitation requires network access to the Typesense API and a valid scoped key.

No public proof-of-concept code is available. See the GitHub Security Advisory GHSA-97x4-gm45-jpcw for vendor-provided technical details.

Detection Methods for CVE-2026-47225

Indicators of Compromise

  • Search responses returning documents that fall outside the embedded filter of the presenting Scoped Search API Key
  • Identical result payloads served to requests carrying different scoped keys against the same collection
  • Anomalous cache hit ratios on collections used by multiple tenants or filter scopes

Detection Strategies

  • Audit Typesense access logs for sequences of search requests on shared collections using different scoped keys with overlapping query parameters
  • Replay sample queries with distinct scoped keys and compare returned document IDs against the embedded filter for each key
  • Inspect deployed Typesense versions and flag any instance below 29.1 or 30.2 that has search result caching enabled

Monitoring Recommendations

  • Enable verbose request logging that records the API key identifier, query parameters, and result counts for each search
  • Alert when result sets returned to a scoped key contain document fields that violate the key's embedded filter
  • Track Typesense version inventory and cache configuration as part of standard configuration management

How to Mitigate CVE-2026-47225

Immediate Actions Required

  • Upgrade Typesense to version 29.1 or 30.2 on all affected nodes
  • Disable server-side search result caching on clusters that cannot be upgraded immediately
  • Rotate Scoped Search API Keys after upgrading if cross-scope disclosure is suspected
  • Review application logs for prior queries that may have returned out-of-scope documents

Patch Information

Typesense addressed the cache isolation flaw in versions 29.1 and 30.2. The fix ensures that Scoped Search API Key constraints are incorporated into the cache key so cached entries cannot be reused across differing authorization contexts. Refer to the Typesense GitHub Security Advisory for release notes and upgrade guidance.

Workarounds

  • Disable the server-side search result cache until the upgrade is complete
  • Avoid combining Scoped Search API Keys with cached search endpoints in the affected versions
  • Segregate sensitive collections onto dedicated Typesense clusters where caching is turned off

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.