Skip to main content

MariaDB Server EUVDEUVD-2026-95922

| CVE-2026-107822 MEDIUM
Use of Incorrectly-Resolved Name or Reference (CWE-706)
2026-10-09 GitHub_M
6.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with CREATE USER privilege
  2. Delivery
    Create colliding role/localhost principal
  3. Exploit
    Trigger ACL cache key collision via empty IP
  4. Execution
    Exercise victim principal's database privileges
  5. Impact
    Read or modify unauthorized data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrectly specified target
Exploitation Conditions

Exploitation requires the attacker to already hold the CREATE USER privilege (a high administrative privilege), and requires the coexistence of a role and a localhost user whose names collide into the same ACL database-privilege cache key because both resolve with an empty IP component. It is further gated on the original principal's database privileges having been cached - i.e. that legitimate account must have been used/connected - matching the AC:H complexity. Affected: MariaDB server from 10.6.1 up to (but not including) the fixed releases. Limiting factors: this is not reachable by unauthenticated or low-privilege users; it depends on non-trivial account-naming collisions and ACL-cache timing state, which sharply narrows realistic exploitation to privileged insiders or already-compromised admin accounts.

Impact

This is a moderate-severity privilege-confusion flaw (vendor CVSS 6.4) whose real-world risk is constrained primarily by its high privilege prerequisite rather than its CIA impact. The provided CVSS vector (CVSS:3.1/AV:N/AC:H/PR:H/UI:R) already signals a hard-to-reach bug: PR:H means the attacker must already hold the powerful CREATE USER privilege, and AC:H reflects the dependency on a specific name collision plus ACL-cache timing state. No EPSS score, CISA KEV listing, or public POC was supplied, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the signals that would elevate priority are all absent. This is best characterized as a high-CVSS-impact-but-low-likelihood issue: the C:H/I:H/A:H impact is only realized against whatever database privileges the colliding principal holds, and reaching it requires an already-privileged insider or a compromised admin-capable account. Note a signal tension: the vector sets UI:R, yet the described mechanism (the victim principal's privileges merely needing to be cached) reads more like an environmental/timing precondition than classic user interaction - verify the UI metric with the vendor advisory. Overall: patch on normal cadence; it is not an emergency unless CREATE USER is broadly delegated in your environment.

Exploit ScenarioDerived

An insider or attacker who has already obtained the CREATE USER privilege on a MariaDB instance creates a new account (e.g. a user whose name collides with an existing role or localhost account) so that both map to the same ACL database-privilege cache key via the empty IP component. Once the legitimate principal's database privileges are cached, the attacker's colliding account exercises those privileges, reading or modifying data it was never granted. No public exploit code exists, and success depends on the high-complexity cache-state and naming conditions described.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 09, 2026

Privilege confusion in MariaDB Server (10.6.1 through the 10.6.x, 10.11.x, 11.4.x, 11.8.x, 12.x and 13.0.x lines prior to the fixed releases) allows an authenticated attacker who already holds the CREATE USER privilege to create a principal whose name collides with an existing role or localhost user in the database-privilege ACL cache, then exercise database privileges belonging to that other account. Because roles and localhost users were both cached with an empty IP component, the cache key could resolve to the wrong principal once the legitimate account's database privileges had already been cached through normal use, matching the assessed CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N (high confidentiality and integrity impact, no availability impact). Exploitation is not reachable by unauthenticated or low-privilege users and depends on non-trivial account-naming collisions plus ACL-cache timing state, so the practical risk is concentrated in privileged insiders or already-compromised administrative accounts. Vendor-released fixes are available in 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3 and 13.0.2; no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to MariaDB Server 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3 or 13.0.2 depending on the maintenance line in use; the fix is the acl_get key-construction change in https://github.com/MariaDB/server/commit/67ea07dd3400004e4f7ae01bf977f4344bbe064b, and details are in the advisory https://github.com/MariaDB/server/security/advisories/GHSA-2m85-2x26-36rf and tracker https://jira.mariadb.org/browse/MDEV-40541. Where an immediate upgrade is not possible, the collision can be broken by keying off names instead of IPs: audit mysql.role_edges and mysql.user for role names that also exist as user@localhost accounts and rename one side using RENAME USER or DROP ROLE plus CREATE ROLE (the trade-off is that grants attached to the renamed principal must be re-issued, and application connection strings or role assignments referencing the old name must be updated). Running FLUSH PRIVILEGES clears the ACL database-privilege cache and forces re-resolution, which invalidates the poisoned entry but only until the cache is repopulated by normal traffic, so it is a short-term hygiene action rather than a fix. Because exploitation requires the privileged CREATE USER capability (per the PR:H vector), restrict that privilege to a minimal set of administrative accounts and remove it from application/service logins - the trade-off being that legitimate provisioning workflows must be routed through a controlled DBA process - and monitor for unexpected CREATE USER/CREATE ROLE statements or for grants appearing on principals whose names match existing roles, since such activity is the observable precursor to this privilege confusion. Note that the upstream regression test demonstrates the access being correctly denied after the patch, so validating post-upgrade behaviour with an equivalent role/user@localhost collision is a useful verification step.

Affected VersionsENISA

Server 10.6.1, < 10.6.28
Server 11.4.1, < 11.4.13
Server 12.3.1, < 12.3.3
Server 11.8.1, < 11.8.9
Server 10.11.1, < 10.11.19
Server 13.0.1, < 13.0.2

Affected Packages

euvd server_10_11_1 fix: 10.11.19
euvd server_10_6_1 fix: 10.6.28
euvd server_11_4_1 fix: 11.4.13
euvd server_11_8_1 fix: 11.8.9
euvd server_12_3_1 fix: 12.3.3
euvd server_13_0_1 fix: 13.0.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 6 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

MariaDB's ACL subsystem caches resolved privileges per principal in sql/sql_acl.cc (function acl_get), building a composite cache key from the client IP, the username and the database name. Roles are stored without a host/IP component, and a user defined as user@localhost was likewise resolved with an empty IP component, so both kinds of principal produced identical cache keys. An attacker with CREATE USER can therefore create a colliding principal (for example, a role named r1 alongside a user r1@localhost, with an account such as u1@127.0.0.1 being granted that role), and when the original principal's database-level privileges are cached, the lookup can return privileges assigned to the other account. This is an instance of CWE-706 (Use of Incorrectly-Resolved Name or Reference): the privilege machinery keys on an under-specified identity rather than a fully qualified principal, producing an authorization decision based on the wrong subject. The upstream fix (commit 67ea07dd3400004e4f7ae01bf977f4344bbe064b) changes the key construction from safe_str(ip) to safe_str(ip ? ip : host), so principals without an IP are distinguished by their host component and no longer collide. The accompanying MySQL-test regression case (mysql-test/main/grant5.test/.result, MDEV-40541) reproduces the collision and asserts that the access attempt is correctly denied with ER_TABLEACCESS_DENIED_ERROR after the fix. The affected product is captured by the CPE cpe:2.3:a:mariadb:server:*:*:*:*:*:*:*:* and tracked upstream as MDEV-40541.

Know when MariaDB gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.4 MEDIUM
AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 5.9 MEDIUM

CREATE USER is required (PR:H) and the cache-collision/timing precondition drives AC:H; the mechanism is an environmental state, not true user interaction, so UI:N; impact is read/modify of another principal's data (C:H/I:H), with no inherent DoS (A:N).

3.1 AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Red Hat 6.4 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
High
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 19:02 EUVD
CVE Published
Oct 09, 2026 - 17:28 cve.org
MEDIUM 6.4

DescriptionCVE.org

MariaDB server is a community developed fork of MySQL server. From 10.6.1 until 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2, MariaDB's ACL cache could generate the same database-privilege cache key for role and localhost user names that matched because both used an empty IP component. An attacker with CREATE USER could create the colliding principal and, when the original principal's database privileges were cached, exercise privileges assigned to the other account. This issue is fixed in versions 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
High
MariaDB server is a default database across many Linux distributions and enterprises
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2016-6662 CRITICAL POC
9.8 Sep 20

Oracle MySQL through 5.5.52, 5.6.x through 5.6.33, and 5.7.x through 5.7.15; MariaDB before 5.5.51, 10.0.x before 10.0.2

CVE-2012-5613 MEDIUM POC
6.0 Dec 03

MySQL 5.5.19 and possibly other versions, and MariaDB 5.5.28a and possibly other versions, when configured to assign the

CVE-2014-0195 MEDIUM POC
6.8 Jun 05

The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2012-2122 MEDIUM POC
5.1 Jun 26

sql/password.c in Oracle MySQL 5.1.x before 5.1.63, 5.5.x before 5.5.24, and 5.6.x before 5.6.6, and MariaDB 5.1.x befor

CVE-2012-5612 MEDIUM POC
6.5 Dec 03

Heap-based buffer overflow in Oracle MySQL 5.5.19 and other versions through 5.5.28, and MariaDB 5.5.28a and possibly ot

CVE-2012-5611 MEDIUM POC
6.5 Dec 03

Stack-based buffer overflow in the acl_get function in Oracle MySQL 5.5.19 and other versions through 5.5.28, and 5.1.53

CVE-2014-3470 MEDIUM
4.3 Jun 05

The ssl3_send_client_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before

CVE-2016-6664 HIGH POC
7.0 Dec 13

mysqld_safe in Oracle MySQL through 5.5.51, 5.6.x through 5.6.32, and 5.7.x through 5.7.14; MariaDB; Percona Server befo

CVE-2014-0221 MEDIUM
4.3 Jun 05

The dtls1_get_message_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.

CVE-2015-3152 MEDIUM POC
5.9 May 16

Oracle MySQL before 5.7.3, Oracle MySQL Connector/C (aka libmysqlclient) before 6.1.3, and MariaDB before 5.5.44 use the

CVE-2022-0778 HIGH POC
7.5 Mar 15

The BN_mod_sqrt() function, which computes a modular square root, contains a bug that can cause it to loop forever for n

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy