---
id: CVE-2026-110176
title: >-
  File Force Download for Drupal 7 Access Bypass via Unconditional Download
  Headers
summary: >-
  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
  itsel…
severity: high
cvss: 8.7
cvssVector: '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'
cvssSource: cna
cwe:
  - CWE-863
vendor: Drupal
product: file_force
affected:
  - file_force >= 7.1.0 < 7.1.3
published: '2026-10-31'
updated: '2026-10-31'
sourceUpdated: '2026-10-31T00:01:51.979Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-110176'
references:
  - url: 'https://www.herodevs.com/vulnerability-directory/cve-2026-110176'
    label: 'HeroDevs vulnerability directory: CVE-2026-110176'
  - url: >-
      https://d7es.tag1.com/security-advisories/file-force-download-critical-access-bypass
    label: 'Tag1 D7ES advisory: File Force Download - Critical - Access Bypass'
tags:
  - cve.org
epss: 0.00249
epssPercentile: 0.16333
ingestedAt: '2026-11-05T16:24:31.493Z'
---

## Overview

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.

## Affected

- `file_force >= 7.1.0 < 7.1.3`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### Workarounds

Disable the File Force Download module, avoid keeping sensitive files in the temporary:// scheme or in stream wrappers provided by contributed modules, or block anonymous requests that carry a download parameter at the web server or WAF.
