{"id":"DRUPAL-CONTRIB-2026-270","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 'experimental' 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.","aliases":["CVE-2026-118550"],"modified":"2026-10-28T22:30:02.891032612Z","published":"2026-10-28T17:09:50Z","references":[{"type":"WEB","url":"https://www.drupal.org/sa-contrib-2026-270"}],"affected":[{"package":{"name":"drupal/ai","ecosystem":"Packagist:https://packages.drupal.org/8","purl":"pkg:composer/drupal/ai?repository_url=https:%2F%2Fpackages.drupal.org%2F8"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.11"}],"database_specific":{"constraint":"\u003c1.4.11"}},{"type":"ECOSYSTEM","events":[{"introduced":"1.5.0"},{"fixed":"1.5.2"}],"database_specific":{"constraint":"\u003e=1.5.0 \u003c1.5.2"}}],"database_specific":{"affected_versions":"\u003c1.4.11 || \u003e=1.5.0 \u003c1.5.2","source":"https://github.com/DrupalSecurityTeam/drupal-advisory-database/blob/main/advisories/ai/DRUPAL-CONTRIB-2026-270.json"}}],"schema_version":"1.9.2","credits":[{"name":"Marcus Johansson (marcus_johansson)","contact":["https://www.drupal.org/u/marcus_johansson"]},{"name":"Scott Euser (scott_euser)","contact":["https://www.drupal.org/u/scott_euser"]}]}