CVE-2025-7717
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedMissing Authorization vulnerability in Drupal File Download allows Forceful Browsing.This issue affects File Download: from 0.0.0 before 1.9.0, from 2.0.0 before 2.0.1.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThe Drupal File Download module has a missing authorization check that allows forceful browsing, enabling users to access files they shouldn't have permission to download by directly accessing URLs or paths.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 8.x-1.0, < 8.x-1.9= 2.0.0CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Verify File Download module is installedCheck your Drupal site's module directory or use drush pm-list --status=enabled to list enabled modules, looking for 'file_download' or 'File Download' in the outputAffected if The File Download module appears in the list of installed/enabled modules
-
Determine the installed File Download module versionRun 'drush pm:list --status=enabled file_download' or check the file_download.info.yml file in the module directory for the 'version' fieldAffected if The version is 8.x-1.0 through 8.x-1.8, or exactly 2.0.0
-
Confirm direct file URL access is enabledInspect the module configuration at /admin/config/media/file-download or check the file_download.settings.yml configuration file for any settings that allow direct URL/path access to filesAffected if Direct URL access to files is permitted in the module configuration and the module is installed on a Drupal 8.x site
-
Check if file access restrictions are enforcedReview the module's permission settings at /admin/people/permissions#module-file_download and verify that role-based download restrictions are properly defined and enforcedAffected if No granular role-based download permissions are defined or the module lacks authorization checks before serving files
-
Verify file download endpoint accessibilityAttempt to access a known file download URL pattern from the module (such as /download/file/[fid] or /file-download/[path]) while logged out or as an unprivileged user to test if unauthorized access is possibleAffected if Files can be downloaded by directly accessing URLs without proper authorization verification
-
Review module security configurationCheck the module's settings.php or config export for any security-related settings related to authorization and file access controlAffected if No explicit authorization enforcement configuration exists or authorization is disabled in module settings
Your environment is affected if the File Download module is installed with version 8.x-1.0 through 8.x-1.8 or exactly version 2.0.0 and direct URL/path file access is enabled without proper authorization checks.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped8.x-1.9
Update Drupal File Download to version 1.9.0 or 2.0.1 or later which includes proper authorization checks.
1.9.0 for 8.x-1.x branch; 2.0.1 for 2.x branch
- Identify which version of the File Download module is installed (8.x-1.x or 2.x)
- For Drupal 8.x-1.x versions: Run composer require 'drupal/file_download:^1.9' or use the Drupal administration UI to update the module to version 1.9.0
- For Drupal 2.x versions: Run composer require 'drupal/file_download:^2.0.1' or use the Drupal administration UI to update the module to version 2.0.1
- Clear Drupal cache after upgrading: drush cr or via the admin UI at /admin/config/development/performance
- Verify the upgrade was successful by confirming the installed version matches the target fixed version
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation6.0 h
- Testing5.0 h
- Review / QA3.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,752.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-7717 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2025-7717 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data