Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privileged MariaDB account
-
ExploitSubmit malformed WKB MultiPolygon
-
ExecutionTrigger ST_Area out-of-bounds read
-
ImpactLeak adjacent memory to defeat ASLR
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Buffer over-read prevention
|
| Exploitation Conditions | Requires an authenticated, low-privileged MariaDB account (PR:L) with the ability to execute SQL that passes attacker-controlled malformed WKB spatial data to the affected geometry functions - ST_Area, ST_Centroid (MultiPolygon), or GLength (MultiLineString). Affected builds are MariaDB server 10.6.1 up to (but not including) the fixed releases 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2; patched versions are not exploitable. Key limiting factors: valid database credentials are mandatory (no unauthenticated path), impact is confined to a bounded memory over-read with no write/corruption, and the leak is only operationally valuable when combined with a separate vulnerability in a chain - it does not by itself grant code execution or data modification. |
| Impact | This is a genuinely low-to-moderate priority issue despite being network-reachable. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, base 4.3 MEDIUM) is internally consistent with the description: a low-privileged remote attacker (PR:L) triggers an out-of-bounds read (CWE-126) that yields only limited confidentiality impact (C:L) and no integrity or availability impact. The description itself frames the flaw as a memory-disclosure primitive 'useful for bypassing ASLR as part of a multi-vulnerability chain' - i.e., not independently exploitable for code execution, which aligns with the low C impact and absence of I/A. No EPSS score, no CISA KEV listing, and no public exploit (POC) are present in the provided data, so there is no evidence of active or widespread exploitation. The source-code evidence (patch commit 2bf355e and test cases returning NULL / triggering ASAN) confirms the bug is real and fixed, but the test cases show the server returns NULL rather than crashing, reinforcing that this is an info-leak, not a DoS. Net: a legitimate defect worth patching on a normal cycle, but not an emergency - its value to an attacker depends on chaining it with other vulnerabilities. No key signals conflict; the main missing data are EPSS, KEV, and POC status (none supplied, meaning unknown rather than negative). |
| Exploit ScenarioDerived | An attacker holding a low-privileged MariaDB account (PR:L) with the ability to run SQL submits a crafted, malformed WKB MultiPolygon value to a spatial function such as ST_Area(). The multi-polygon parser advances past a nested geometry header without verifying enough input remains, causing an out-of-bounds read that leaks adjacent heap memory. The leaked bytes can reveal pointers useful for defeating ASLR, which the attacker then combines with a separate memory-corruption bug to achieve code execution. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
An out-of-bounds memory read in MariaDB Server's spatial (GIS) functions lets an authenticated but low-privileged database user pass a truncated WKB MultiPolygon or MultiLineString to ST_Area, ST_Centroid, or GLength and have the parser read past the end of the allocated buffer, returning adjacent heap bytes as a geometry result or error path. Affected releases are MariaDB 10.6.1 through the fixes in 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2; exploitation requires valid credentials and the ability to submit attacker-controlled spatial data (CVSS 4.3, PR:L), and the leak is primarily useful as an ASLR-bypass primitive inside a larger exploit chain rather than as a standalone compromise. No public exploit code has been identified at time of analysis and the flaw is not listed in CISA KEV, so it should be treated as low-to-moderate priority and scheduled with routine patching; the vendor advisory GHSA-p7v9-24h4-mch8 and MDEV-40328 document the issue.
RemediationAI
Vendor-released patch: upgrade to MariaDB 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, or 13.0.2 depending on your branch; the fix is the bounds check in sql/spatial.cc delivered via commit 2bf355e361db85153fdfba7b8a0f0d114d6a26ce, with regression tests covering ST_Area, ST_Centroid, and GLength on malformed WKB. See the advisory at https://github.com/MariaDB/server/security/advisories/GHSA-p7v9-24h4-mch8 and https://jira.mariadb.org/browse/MDEV-40328 for the maintainer's statement, and the release tags listed in the affected products section for the corresponding binaries. Because privilege requirements are low but not zero, a workable compensating control until patching is to revoke INSERT/UPDATE/CREATE and FILE privileges on spatial columns, or restrict GIS functionality, from accounts that are not fully trusted - the trade-off is that legitimate geospatial applications and imports will break. A stricter interim measure is to reject untrusted WKB at the application boundary by validating or re-encoding geometry with ST_GeomFromWKB/ST_AsText before storage, since a well-formed payload never triggers the over-read; this adds parsing overhead and will not help for data already ingested. Restricting network reachability of the MariaDB port to trusted application hosts reduces the population of accounts able to reach the vulnerable functions but does not address insider or compromised-app paths, and none of these mitigations remove the need to patch, since the over-read is silent and cannot be reliably detected from query output alone. There is no indication of active exploitation, so remediation can be scheduled through normal change control rather than treated as an emergency.
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
The root cause is CWE-126 (Buffer Over-read) in MariaDB's WKB/WKT spatial parser implemented in sql/spatial.cc. Multi-geometry types (MultiPolygon, MultiLineString) are serialized as a byte-order marker, a 4-byte type word, a 4-byte element count, and then a sequence of nested geometry records, each prefixed by a WKB_HEADER_SIZE (5-byte) header containing byte order and geometry type. The parser loops over those nested headers, and in the vulnerable code paths - Gis_multi_polygon::area(), Gis_multi_polygon::centroid(), Gis_multi_line_string::geom_length(), and Gis_multi_line_string::get_mbr() - it advanced the input pointer by WKB_HEADER_SIZE without first confirming that many bytes actually remained in the input buffer. Because spatial values are materialized into heap buffers sized to the supplied WKB length, a truncated payload such as the test vector x'0000000001060000000100000001030000' causes the pointer to step past the allocation, and subsequent parsing reads uninitialized/adjacent heap memory. The upstream fix (commit 2bf355e361db85153fdfba7b8a0f0d114d6a26ce) inserts a no_data(data, WKB_HEADER_SIZE) bounds check that returns an error before the advance, and refactors the get_mbr() call to pass data + WKB_HEADER_SIZE into get_mbr_for_points() rather than mutating the caller's pointer first. The affected component is identified by CPE cpe:2.3:a:mariadb:server:*:*:*:*:*:*:*:*, and the same fix was extended to the analogous MultiLineString (GLength) case noted in the accompanying regression tests, indicating the parser's bounds handling was systematically weak for nested geometry headers.
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:N/S:U/C:L/I:N/A:N
Network-reachable SQL path with a low-privileged account (PR:L) and no user interaction; bounded out-of-bounds read yields limited memory disclosure (C:L) with no integrity or availability impact.
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.6.1 until 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2, ST_Area reads beyond the allocated buffer when processing invalid WKB for a MultiPolygon because the multi-polygon parser advances past a nested geometry header without first verifying enough input remains. A low-privileged remote attacker can supply malformed spatial data to disclose memory useful for bypassing ASLR as part of a multi-vulnerability chain. 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
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
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-102942
NVD
CVE.org
GitHub
Exploit-DB