Cloudanix VulnDB

CVE-2024-45440

Medium · 5.3

Drupal Full Path Disclosure

CVSS

5.3

EPSS

9.3%

Published

Aug 29, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A setup mistake in a popular website platform can accidentally show attackers exactly where files are stored on the server, making it easier for them to plan further attacks.

Weaponized
Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Data Exposure
Component
Application
Class
Information Disclosure
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw triggers an error in core/authorize.php when hash_salt is configured via file_get_contents on a non-existent file, resulting in full server path disclosure regardless of error logging configuration.

Why it matters to the business

Attackers gain visibility into internal directory structures, which can accelerate reconnaissance and increase the likelihood of successful follow-on attacks against the application.

How an attack unfolds

An attacker supplies or influences a hash_salt value that attempts to read a missing file through file_get_contents; the resulting error bypasses logging controls and leaks the absolute path, and weaponized tooling can automate repeated triggers to map the environment.

How to fix it

Upgrade Drupal to a version that prevents the path disclosure in authorize.php; ensure hash_salt values reference only existing, controlled files and review custom error-handling settings.

How to confirm the fix worked

After remediation, attempt to reproduce the non-existent file condition via hash_salt and confirm that no full path appears in responses or logs even when logging is disabled.

Typical attack path

  1. Identify an exposed Drupal installation running the vulnerable code path
  2. Manipulate or observe the hash_salt configuration to reference a non-existent file
  3. Trigger the authorize.php endpoint to induce the error condition
  4. Capture the resulting error output containing the full file path
  5. Use the disclosed path to inform subsequent exploitation attempts

How to detect it

Search web server and application error logs for entries originating from core/authorize.php that contain file path strings or file_get_contents failures; correlate with requests that manipulate hash_salt parameters.

What your security team should do

  • Prioritize patching all Drupal 11.x-dev instances due to weaponized exploit maturity
  • Audit hash_salt configurations across environments to eliminate references to potentially missing files
  • Enable centralized logging and monitoring for any authorize.php error events
  • Review downstream dependents and update build pipelines to enforce the fix once released

The record

`core/authorize.php` in Drupal 11.x-dev allows Full Path Disclosure (even when error logging is None) if the value of `hash_salt` is `file_get_contents` of a file that does not exist.

Affected packages

Ecosystem Package Introduced Fixed
Packagist drupal/core 10.3.0 10.3.6
Packagist drupal/core 11.0.0 11.0.5
Packagist drupal/core 11.x-dev No fix
Packagist drupal/core 8.0.0 10.2.9
Packagist drupal/core-recommended 10.3.0 10.3.6
Packagist drupal/core-recommended 11.0.0 11.0.5
Packagist drupal/core-recommended 11.x-dev No fix
Packagist drupal/core-recommended 8.0.0 10.2.9
Packagist drupal/drupal 10.3.0 10.3.6
Packagist drupal/drupal 11.0.0 11.0.5
Packagist drupal/drupal 11.x-dev No fix
Packagist drupal/drupal 8.0.0 10.2.9
Ubuntu:Pro:14.04:LTS drupal7 0 No fix
Ubuntu:Pro:16.04:LTS drupal7 0 No fix
packagist drupal/core 10.3.0 10.3.6
packagist drupal/core 11.0.0 11.0.5
packagist drupal/core 8.0.0 No fix
packagist drupal/core 8.0.0 10.2.9
packagist drupal/core-recommended 10.3.0 10.3.6
packagist drupal/core-recommended 11.0.0 11.0.5
packagist drupal/core-recommended 8.0.0 No fix
packagist drupal/core-recommended 8.0.0 10.2.9
packagist drupal/drupal 10.3.0 10.3.6
packagist drupal/drupal 11.0.0 11.0.5
packagist drupal/drupal 8.0.0 No fix
packagist drupal/drupal 8.0.0 10.2.9

Related vulnerabilities