Skip to content

GHSA-h2wg-v8wg-jhxh CVE-2024-47056

Mautic does not shield .env files from web traffic

Medium Packagist
Severity
5.1 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.12%
Chance of exploitation in the next 30 days. Higher than 2.06% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-312 Cleartext Storage of Sensitive Information
CWE-526 Cleartext Storage of Sensitive Information in an Environment Variable
Fix
4.4.16
Upgrade mautic/core to this version or later

Description

Summary

This advisory addresses a security vulnerability in Mautic where sensitive .env configuration files may be directly accessible via a web browser. This exposure could lead to the disclosure of sensitive information, including database credentials, API keys, and other critical system configurations.

Sensitive Information Disclosure via .env File Exposure: The .env file, which typically contains environment variables and sensitive application configurations, is directly accessible via a web browser due to missing web server configurations that restrict access to such files. This allows an unauthenticated attacker to view the contents of this file by simply navigating to its URL.

Mitigation

Update Mautic to the latest Mautic version. By default, Mautic does not use .env files for production data.

For Apache users: Ensure your web server is configured to respect .htaccess files.

For Nginx users: As Nginx does not inherently support .htaccess files, you must manually add a configuration block to your Nginx server configuration to deny access to .env files. Add the following to your Nginx configuration for the Mautic site:

location ~ /\.env {
    deny all;
}

After modifying your Nginx configuration, remember to reload or restart your Nginx service for the changes to take effect.

Affected versions

Packagist

PackageVulnerableFixed in
mautic/core
>= 4.4.0, < 4.4.16
4.4.16
mautic/core
>= 5.0.0-alpha, < 5.2.6
5.2.6
mautic/core
>= 6.0.0-alpha, < 6.0.2
6.0.2

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

mautic/core Packagist → 4.4.16

composer
composer require mautic/core:^4.4.16

Severity breakdown

CVSS 3.1 5.1

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L

Attack vector
Local
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
Low

Weakness

CWE-312: Cleartext Storage of Sensitive Information

The product stores sensitive information in cleartext within a resource that might be accessible to another control sphere.

How to prevent it
  • Implementation, System Configuration, Operation: When storing data in the cloud (e.g., S3 buckets, Azure blobs, Google Cloud Storage, etc.), use the provider's controls to encrypt the data at rest. [REF-1297] [REF-1299] [REF-1301]
  • Implementation, System Configuration, Operation: In some systems/environments such as cloud, the use of "double encryption" (at both the software and hardware layer) might be required, and the developer might be solely responsible for both layers, instead of shared responsibility with the administrator of the broader system/environment.

CWE-526: Cleartext Storage of Sensitive Information in an Environment Variable

The product uses an environment variable to store unencrypted sensitive information.

How to prevent it
  • Architecture and Design: Encrypt information stored in the environment variable to protect it from being exposed to an unauthorized user. If encryption is not feasible or is considered too expensive for the business use of the application, then consider using a properly protected configuration file instead of an environment variable. It should be understood that unencrypted information in a config file is also not guaranteed to be protected, but it is still a better choice, because it reduces attack surface related to weaknesses such as CWE-214. In some settings, vaults might be a feasible option for safer data transfer. Users should be notified of the business choice made to not protect the sensitive information through encryption.
  • Implementation: If the environment variable is not necessary for the desired behavior, then remove it entirely, or clear it to an empty value.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-5hvg-w58j-545m
Mautic has Stored Cross-Site Scripting (XSS) in Project Option Selector
Medium Also affects mautic/core
GHSA-7h65-whp7-rgqf
Mautic has Stored Cross-Site Scripting (XSS) in Projects Component
High Also affects mautic/core
GHSA-2jrw-c95w-h43g
Mautic has an Authorization Bypass in API v2 Endpoints
High Also affects mautic/core
GHSA-6r9h-4h75-7q4x
Mautic vulnerable to Path Traversal via Campaign Import
Critical Also affects mautic/core
GHSA-9fx4-7cmj-47vg
Mautic has Server-Side Template Injection (SSTI) in Theme Templates
Critical Also affects mautic/core
GHSA-jmv8-8j9j-rcpc
Mautic Focus component Vulnerable to SSRF
Medium Also affects mautic/core
GHSA-fcmw-wx57-9p75
Mautic has SQL Injection in API Contact Filtering
High Also affects mautic/core
GHSA-r5j5-q42h-fc93
Mautic is Vulnerable to SQL Injection through Contact Activity API Sorting
High Also affects mautic/core
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor