CVE-2026-110176 Evasión de control de acceso en File Force Download para Drupal 7
En las versiones 7.1.0 a 7.1.2, el módulo solo delega en otros módulos cuando el archivo está en el esquema private; para los demás esquemas devuelve sus encabezados sin verificación, y en Drupal 7 eso otorga acceso. Un visitante no autenticado que agregue download=1 a la URL de un archivo en temporary:// o en un stream wrapper de otro módulo puede obtenerlo. Los archivos en los esquemas public y private no están afectados.
CVSS 4.0
- Probabilidad de explotación · EPSS del 09/110,2 % · percentil 16
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
Drupal File Force Download
desde 7.1.0 hasta antes de 7.1.3
Qué hacer
- Verificá si usás File Force Download y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 4.0 · 8.7 ALTA
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataqueNinguno
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- Confidencialidad (sistema vulnerable)Alta
- Integridad (sistema vulnerable)Ninguna
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
The File Force Download module for Drupal 7 implements hook_file_download() to add a Content-Disposition header when a file URL carries the download query parameter. In Drupal 7, returning a non-empty header array from that hook is itself a grant of access to the file.
In versions 7.1.0 through 7.1.2, the module only delegated to other modules' hook_file_download() implementations when the file was in the private scheme. For every other scheme it returned its headers without any check. An unauthenticated visitor who appended download=1 to the URL of a file in the temporary:// scheme, or in a stream wrapper supplied by another module, could retrieve the file, overriding the access checks that would otherwise have applied. Files in the public and private schemes are not affected.
Referencias (2)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.