Skip to main content

MariaDB Server CVE-2026-102523

| EUVDEUVD-2026-117548 HIGH
External Control of File Name or Path (CWE-73)
2026-11-05 GitHub_M
8.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege DB user
  2. Delivery
    Define partition name requiring filename escaping
  3. Exploit
    Issue ALTER TABLE ... CONVERT ... PARTITION
  4. Execution
    Conversion resolves to unauthorized table files
  5. Impact
    Read or modify tables outside granted access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
Exploitation Conditions

Requires an authenticated MariaDB account with privilege to run ALTER TABLE on a partitioned table, and the partition plugin must be enabled (the default). The concrete trigger is a user-specified partition name that requires filename escaping - demonstrated with names like foo-bar or a #mysql50#-prefixed name - passed to ALTER TABLE ... CONVERT ... PARTITION, where the name is used in filesystem path construction without filename encoding. Limiting factors: the attacker must already hold a database foothold with ALTER rights (PR:L), and the attack is confined to servers running affected versions (10.11.1-10.11.18, 11.4.1-11.4.12, 11.8.1-11.8.8, 12.3.1-12.3.2, 13.0.1) with partitioning active. The vendor-stated workaround is to disable partition support with --skip-plugin-partition; the complete fix is upgrading to 10.11.19, 11.4.13, 11.8.9, 12.3.3, or 13.0.2.

Impact

This is a credible, prioritizable issue but not an emergency. The input CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H, 8.0) and the description agree that exploitation requires an authenticated low-privilege database user (PR:L), which bounds the threat to users who already have a database account and the ability to run ALTER TABLE on a partitioned table. The vuln.today decision label is 'this_week', consistent with a serious authorization bypass that is not under active attack. There is NO CISA KEV listing and NO EPSS score in the provided data, and no public exploit was supplied, so there is no public exploit identified at time of analysis - the only working trigger shown is the project's own regression test in the fix commit, which is not attacker exploit code. One inconsistency to verify: the input vector carries UI:R (user interaction required), but the described attack is performed directly by the authenticated attacker issuing the ALTER TABLE statement with no separate victim action, which argues for UI:N; this discrepancy slightly raises real exploitability versus the published vector. Net: a real authorization-bypass requiring an authenticated foothold, worth patching promptly, but lower urgency than an unauthenticated or actively-exploited flaw.

Exploit ScenarioDerived

An authenticated database user who can run ALTER TABLE on a partitioned table creates or targets a partition whose name requires filename escaping (e.g. containing '-' or a '#mysql50#' prefix) and issues ALTER TABLE ... CONVERT ... PARTITION. Because the user-supplied partition name is not passed through filename encoding before filesystem path construction, the conversion operates on on-disk table files the user is not authorized to access, yielding unauthorized reads or modifications of other tables. No public exploit was provided; the fix commit includes a regression test demonstrating the trigger but that is not weaponized exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Nov 05, 2026

An authorization bypass in MariaDB Server lets an authenticated database user who can run ALTER TABLE against a partitioned table make ALTER TABLE ... CONVERT ... PARTITION operate on table files belonging to other tables, because the user-supplied partition name is inserted into the on-disk file path without filename encoding. Successful abuse yields unauthorized reads and modifications of other tables' data, and the effect is confined to servers running affected releases (10.11.1 through 10.11.18, 11.4.1 through 11.4.12, 11.8.1 through 11.8.8, 12.3.1 through 12.3.2, and 13.0.1) with the partition plugin active, which is the default. No public exploit code was identified at time of analysis and the issue is not in CISA KEV; the vendor fix is contained in 10.11.19, 11.4.13, 11.8.9, 12.3.3 and 13.0.2, and the practical barrier is that the attacker already needs a database foothold with ALTER rights on the target table.

RemediationAI

Vendor-released patch: upgrade to MariaDB 10.11.19, 11.4.13, 11.8.9, 12.3.3 or 13.0.2, each of which contains the fix from commit 98437c30ae52ed709f266e5f8095d779261a5879 and is published under the corresponding release tag linked from the advisory https://github.com/MariaDB/server/security/advisories/GHSA-h4vr-wpff-jfx4 (tracking issue: https://jira.mariadb.org/browse/MDEV-40413). Where upgrading is not immediately possible, the vendor-stated workaround is to start the server with --skip-plugin-partition, which removes the attack path but has the side effect of disabling partitioned tables entirely, so any schema that relies on partitioning will stop working and should be inventoried before applying it. Because exploitation requires an account that can already issue ALTER TABLE on a partitioned table, additionally reviewing which accounts hold ALTER privileges and limiting them to the tables they legitimately administer reduces exposure while patching is scheduled.

Affected VersionsENISA

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

Affected Packages

euvd server fix: 10.11.19, 11.4.13, 11.8.9, 12.3.3, 13.0.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

MariaDB partitioning stores each partition of a table in its own files on disk, deriving file names from the partition name, and normally passes user-specified identifiers through tablename_to_filename()-style encoding so that characters requiring filesystem escaping (hyphens, special prefixes such as #mysql50#) cannot influence the resulting path. In the affected code paths, the ALTER TABLE ... CONVERT ... PARTITION handlers (alter_partition_convert_out() in sql/sql_partition.cc and alter_partition_convert_in() in sql/sql_partition_admin.cc) called create_partition_name() with the translation flag set to FALSE, treating a user-supplied partition name as an already-encoded on-disk filename. That is the CWE-73 external control of file name or path condition: a crafted partition name reaches filesystem path construction verbatim, so the conversion can be pointed at table files the issuing user is not authorized to access, resulting in unauthorized reads or modifications of those tables. The upstream commit 98437c30ae52ed709f266e5f8095d779261a5879 flips the flag to TRUE and documents the parameter semantics, and its regression tests exercise partition names such as foo-bar and #mysql50#p-2, confirming that names requiring filename escaping are the concrete trigger. Exposure requires the partition plugin to be enabled, which is the shipped default; the trigger conditions beyond that are not further described in the available sources.

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 8.0 HIGH
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 8.3 HIGH

Authenticated DB user over the network (AV:N, PR:L) triggers the flaw directly with no victim interaction (UI:N); unauthorized reads/modifications give C:H/I:H, with A:L for possible corruption of affected table files.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Nov 05, 2026 - 17:03 EUVD
CVE Published
Nov 05, 2026 - 15:31 cve.org
HIGH 8.0

DescriptionCVE.org

MariaDB server is a community developed fork of MySQL server. From 10.11.1 until 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2, ALTER TABLE ... CONVERT ... PARTITION does not apply filename encoding to user-specified partition names before using them in filesystem path construction. An authenticated database user can use a partition name requiring filename escaping to make the conversion operate on table files the user is not authorized to access, allowing unauthorized table reads or modifications. This issue is fixed in versions 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2.

Technical POC Analysis

Bug class: CWE-73, External Control of File Name or Path - the advisory's own mapping.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity authorization bypass in MariaDB Server allows an authenticated database user with ALTER TABLE privileges on a partitioned table to access and modify data belonging to other tables on the same server. This flaw affects a wide range of MariaDB versions and could enable unauthorized data exposure or tampering by internal users or compromised accounts. Given the potential for cross-table data breaches and integrity violations, security leadership should prioritize patching and review database access controls.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 53% exploitable
Prevalence
High
MariaDB is a widely deployed enterprise/open-source database across Linux and LAMP stacks
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 HIGH
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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

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