(CVE-2026-118550)
Vulnerability from drupal – Published: 2026-10-28 17:09 – Updated: 2026-10-28 18:33 – Source websiteThis module provides a framework for integrating Drupal with AI providers. Its AI Search submodule provides a Search API backend that stores content in a vector database for semantic search.
The AI Search submodule has always been marked as 'experimental' but more importantly is deprecated. You may wish to use this as an opportunity to move to the standalone AI Search which is a drop-in replacement and target of all new development. It also had the same vulnerability.
The AI Search backend checks access to each search result for the current user, but this is not taken into account when Search API caches the results of a view. As a result, cached search results, including titles and other displayed fields of unpublished or access-restricted content, can be shown to users who do not have access to that content in some configurations.
This vulnerability is mitigated by the fact that:
- The AI Search submodule must be enabled and used with a Search API view.
- The view must use Search API result caching ("Search API (time-based)", "Search API (tag-based)" or "Search API (time and tag-based)"). The default, "Search API (none)", is not affected.
- A user with access to the restricted content must have run the same search within the cache lifetime.
Retrieval-augmented generation (RAG) tools, AI Assistant RAG actions and custom code running Search API queries are not affected.
| URL | Type | |
|---|---|---|
{
"affected": [
{
"database_specific": {
"affected_versions": "\u003c1.4.11 || \u003e=1.5.0 \u003c1.5.2"
},
"package": {
"ecosystem": "Packagist:https://packages.drupal.org/8",
"name": "drupal/ai"
},
"ranges": [
{
"database_specific": {
"constraint": "\u003c1.4.11"
},
"events": [
{
"introduced": "0"
},
{
"fixed": "1.4.11"
}
],
"type": "ECOSYSTEM"
},
{
"database_specific": {
"constraint": "\u003e=1.5.0 \u003c1.5.2"
},
"events": [
{
"introduced": "1.5.0"
},
{
"fixed": "1.5.2"
}
],
"type": "ECOSYSTEM"
}
],
"severity": []
}
],
"aliases": [
"CVE-2026-118550"
],
"credits": [
{
"contact": [
"https://www.drupal.org/u/marcus_johansson"
],
"name": "Marcus Johansson (marcus_johansson)"
},
{
"contact": [
"https://www.drupal.org/u/scott_euser"
],
"name": "Scott Euser (scott_euser)"
}
],
"details": "This module provides a framework for integrating Drupal with AI providers. Its AI Search submodule provides a Search API backend that stores content in a vector database for semantic search.\n\nThe AI Search submodule has always been marked as \u0027experimental\u0027 but more importantly is deprecated. You may wish to use this as an opportunity to move to the standalone [AI Search](https://www.drupal.org/project/ai_search) which is a drop-in replacement and target of all new development. It also had the same vulnerability.\n\nThe AI Search backend checks access to each search result for the current user, but this is not taken into account when Search API caches the results of a view. As a result, cached search results, including titles and other displayed fields of unpublished or access-restricted content, can be shown to users who do not have access to that content in some configurations.\n\nThis vulnerability is mitigated by the fact that:\n\n* The AI Search submodule must be enabled and used with a Search API view.\n* The view must use Search API result caching (\"Search API (time-based)\", \"Search API (tag-based)\" or \"Search API (time and tag-based)\"). The default, \"Search API (none)\", is not affected.\n* A user with access to the restricted content must have run the same search within the cache lifetime.\n\nRetrieval-augmented generation (RAG) tools, AI Assistant RAG actions and custom code running Search API queries are not affected.",
"id": "DRUPAL-CONTRIB-2026-270",
"modified": "2026-10-28T18:33:54.000Z",
"published": "2026-10-28T17:09:50.000Z",
"references": [
{
"type": "WEB",
"url": "https://www.drupal.org/sa-contrib-2026-270"
}
],
"schema_version": "1.7.0"
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.