CVE-2026-4020

Gravity SMTP <= 2.1.4 - Unauthenticated Sensitive Information Exposure via REST API

Strategic Overview

Status
Patched in 2.1.5
Affected Plugin
Gravity SMTP
Affected Version
<= 2.1.4
CVSS
5.3Medium
Weakness type
CWE-200 · Exposure of Sensitive Information to an Unauthorized Actor
CVE
CVE-2026-4020
View all Gravity SMTP vulnerabilities

At a glance

CVE-2026-4020 is a medium-severity Exposure of Sensitive Information to an Unauthorized Actor vulnerability in the Gravity SMTP WordPress plugin, affecting versions <= 2.1.4. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 2.1.5; sites on affected versions should update now. Disclosed March 2026, reported by Osvaldo Noe Gonzalez Del Rio (Os).

Vulnerability Overview

The Gravity SMTP plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 2.1.4. This is due to a REST API endpoint registered at /wp-json/gravitysmtp/v1/tests/mock-data with a permission_callback that unconditionally returns true, allowing any unauthenticated visitor to access it. When the ?page=gravitysmtp-settings query parameter is appended, the plugin's register_connector_data() method populates internal connector data, causing the endpoint to return approximately 365 KB of JSON containing the full System Report. This makes it possible for unauthenticated attackers to retrieve detailed system configuration data including PHP version, loaded extensions, web server version, document root path, database server type and version, WordPress version, all active plugins with versions, active theme, WordPress configuration details, database table names, and any API keys/tokens configured in the plugin.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.

CWE-200: Exposure of Sensitive Information to an Unauthorized Actor

Gravity SMTP <= 2.1.4 carries this weakness at register_connector_data(), and reaching it takes no account at all. Sensitive information exposure means data the application intended to keep internal is returned to a caller who should not be able to see it.

The disclosed data — credentials, tokens, customer records or internal paths — is usually worth more as material for a follow-up attack than as an end in itself. For Gravity SMTP the fix is 2.1.5: builds <= 2.1.4 are affected, anything from 2.1.5 onward is not.

Remediation

Update to version 2.1.5, or a newer patched version

How does WordSec protect against this?

This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: Gravity SMTP 2.1.5 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C