CVE-2024-45440
Medium · 5.3Drupal Full Path Disclosure
CVSS
5.3
EPSS
9.3%
Published
Aug 29, 2024
CISA due date
—
Cloudanix analysis
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.
- 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
- Identify an exposed Drupal installation running the vulnerable code path
- Manipulate or observe the hash_salt configuration to reference a non-existent file
- Trigger the authorize.php endpoint to induce the error condition
- Capture the resulting error output containing the full file path
- 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
- GHSA-83v7-c2cf-p9c2 Drupal core allows Forceful Browsing Also affects drupal/core
- GHSA-h89p-5896-f4q8 Drupal core allows Content Spoofing Also affects drupal/core
- GHSA-mhpg-hpj5-73r2 Drupal core allows Exploiting Incorrectly Configured Access Control Security Levels Also affects drupal/core
- GHSA-m6vv-vcj8-w8m7 Drupal core allows Object Injection Also affects drupal/core
- CVE-2025-13081 Drupal core allows Object Injection Also affects drupal/core
- CVE-2025-13082 Drupal core allows Content Spoofing Also affects drupal/core
- CVE-2025-13083 Drupal core allows Exploiting Incorrectly Configured Access Control Security Levels Also affects drupal/core
- CVE-2025-13080 Drupal core allows Forceful Browsing Also affects drupal/core