Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege DB user
-
DeliveryDefine partition name requiring filename escaping
-
ExploitIssue ALTER TABLE ... CONVERT ... PARTITION
-
ExecutionConversion resolves to unauthorized table files
-
ImpactRead 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 |
| 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
MySQL 5.5.19 and possibly other versions, and MariaDB 5.5.28a and possibly other versions, when configured to assign the
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
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
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
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
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
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
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
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.
Oracle MySQL before 5.7.3, Oracle MySQL Connector/C (aka libmysqlclient) before 6.1.3, and MariaDB before 5.5.44 use the
The BN_mod_sqrt() function, which computes a modular square root, contains a bug that can cause it to loop forever for n
EUVD-2026-117548
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB