---
id: "CVE-2026-111106"
kind: "vulnerability"
aliases: ["CVE-2026-111106"]
title: "Mail Mint WordPress plugin: SQL injection lets authenticated users read database"
severity: "medium"
cvss: 6.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["mail-mint", "package", "self-hosted", "wordpress"]
not_affected_if: ["auth-required", "not-installed"]
published_at: "2026-10-16T05:17:30+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T03:58:06+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-111106", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# Mail Mint WordPress plugin: SQL injection lets authenticated users read database

The Mail Mint WordPress plugin up to and including 1.31.4 fails to escape a filter value in its contacts segment REST endpoint, so it is concatenated into an SQL query. An authenticated user with the mint_read_contacts capability can inject SQL to extract sensitive data from the site database.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Mail Mint version in the WordPress plugins list or with `wp plugin get mail-mint --field=version`
- Confirm whether the plugin's role manager grants `mint_read_contacts` to roles other than Administrators

## Fix

- Update Mail Mint to a version later than `1.31.4` (the sources do not name the patched version)

## Timeline

- 2026-10-23T21:57:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-111106

## From the sources

The Mail Mint plugin for WordPress is vulnerable to SQL Injection via the 'filters' parameter of the /wp-json/mrm/v1/segments/contacts REST endpoint in versions up to, and including, 1.31.4 This is due to insufficient escaping on the user supplied filter 'value' before it is appended to a SQL query in SegmentFilterService::get_meta_join_query() at line 797, where the value is string-interpolated into the WHERE fragment in a numeric (unquoted) context and the surrounding $wpdb->prepare() calls do not cover the injected value. This makes it possible for authenticated attackers, with the custom 'mint_read_contacts' capability (granted to Administrators by default, and configurable to lower roles via the plugin's role manager), to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
