PatchClock

PHP security digest · 28 Oct 2026

This module provides a framework for integrating AI providers and features into Drupal. Audio for every speech-to-text request is written to the same file in t...

Unrated CVE-2026-118551

Package
drupal/ai
Fixed in
1.4.11, 1.5.2
Published
Wed 28 Oct 2026, 17:09 LisbonUpdated Mon 2 Nov 2026, 07:25 Lisbon

In plain words

The module writes audio from every speech-to-text request to the same file in the temporary directory and leaves it there afterwards. An attacker with read access to that directory could obtain audio another user sent for transcription.

Am I affected?

Look for drupal/ai and its version in composer.lock. The advisory lists fixes in 1.4.11 and 1.5.2, but gives no affected version range. Check whether your site uses speech-to-text and whether other users can read its temporary directory through server access, a module or custom code.

What to do

Check which version you have, then update to a fixed release for your branch (1.4.11, 1.5.2):

composer show drupal/ai | grep versions
composer update drupal/ai

If your version constraint in composer.json keeps you below a fixed release, raise it first. Whether your configuration is affected, and the exact version ranges, are in the advisory itself.

If you cannot update yet

Restrict read access to the site's temporary directory, including access through shared hosting accounts, modules or custom code. Drupal core's system.temporary route only serves temporary files to the user who owns them.

The advisory's description

This module provides a framework for integrating AI providers and features into Drupal.

Audio for every speech-to-text request is written to the same file in the temporary directory and does not delete it afterwards. As a result, an attacker who can read the site's temporary directory could get the audio that another user sent for transcription.

This vulnerability is mitigated by the fact that the attacker needs read access to the temporary directory, either through the server (for example a shared hosting account) or through a module or custom code that exposes temporary files to other users. Drupal core's system.temporary route only serves temporary files to the user who owns them.

The advisory

From OSV.dev, which gathers the GitHub Advisory Database, FriendsOfPHP and Drupal security advisories; the summary is theirs. The description is OSV's record of the advisory. "In plain words", "Am I affected?" and "If you cannot update yet" are based on that advisory, and checked to name no version it does not.