Skip to main content

MariaDB Server EUVDEUVD-2026-95918

| CVE-2026-107817 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-09 GitHub_M
4.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Place crafted MySQL JSON table in datadir
  2. Exploit
    Administrator imports or accesses table
  3. Execution
    mysql_json plugin parses invalid binary JSON
  4. Impact
    Out-of-bounds read triggers info disclosure or server crash

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a specially prepared MySQL-origin table (.frm/.MYI/.MYD files) containing invalid MySQL binary JSON to be processed by MariaDB's legacy mysql_json compatibility plugin - the plugin that handles tables imported from MySQL. The attacker must get this hostile table into the server's data directory (implying local filesystem access) or trick an administrator into importing it, and the malformed table must then be parsed/accessed (e.g., via ALTER TABLE ... FORCE). Limiting factors that reduce real-world risk: the mysql_json import path must actually be exercised (environments that never import MySQL tables are unaffected), user interaction is required to trigger table access (UI:R), and the attack vector is local (AV:L) rather than network-reachable - it is not exploitable by an unauthenticated remote attacker against a default MariaDB deployment.

Impact

This is a genuinely low-to-moderate priority issue despite being tracked as a server vulnerability. The vendor CVSS of 4.4 (AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L) is consistent with the technical facts: a local attack vector requiring user interaction, yielding only partial confidentiality loss (OOB memory read) and partial availability loss (crash). No EPSS score, KEV listing, or SSVC decision data was provided in the input, so exploitation probability and automatability cannot be quantified from the signals given. There is no KEV entry and no POC flag set in the input - note, however, that the fix commit itself ships a reproducer test case (a crafted .MYD with byte-level corruption that triggers the error path), which demonstrates triggerability but is not a weaponized remote exploit. The PR:N in the CVSS vector is somewhat misleading given the description: real exploitation requires the attacker to get a crafted MySQL-origin table into the datadir and have it parsed by the legacy mysql_json compatibility plugin, which in practice implies either local filesystem access or social-engineering an administrator into importing a hostile table - verify this nuance against the vendor advisory GHSA-89ph-64cf-gqcc. Net: a real-but-narrow defect, not an urgent patch-tonight item unless the environment routinely imports untrusted MySQL tables.

Exploit ScenarioDerived

An attacker crafts (or corrupts the binary JSON bytes within) a MySQL-origin table - the .frm/.MYI/.MYD files - containing invalid MySQL binary JSON, then gets it placed in the server's datadir or imported by an administrator. When the mysql_json plugin parses the table (for example during ALTER TABLE ... FORCE or normal access), it reads out of bounds, leaking adjacent memory contents or crashing the server (DoS). A reproducer exists in the fix commit, but no standalone public exploit was identified in the input.

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

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

Alert me

AnalysisAIv1 – Oct 09, 2026

Out-of-bounds reads in MariaDB Server's legacy mysql_json plugin can expose memory contents or crash the server when the plugin parses a specially crafted MySQL-origin table containing invalid MySQL binary JSON. The flaw affects MariaDB 10.6.1 and later branches up to (but excluding) 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2, and is only reachable when tables imported from MySQL must be read through the mysql_json compatibility path - for example during ALTER TABLE ... FORCE. The CVSS vector (AV:L, PR:N, UI:R, S:U, C:L, I:N, A:L, score 4.4) confirms this is a local, interaction-driven issue rather than a remotely exploitable one; no public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, and vendor patches are available.

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 respectively, which contain the bounds checks from commit 851f52470d470a96a66e0b7e5599f3b6c2e45907 that reject malformed MySQL JSON instead of reading past the buffer; full details are in GHSA-89ph-64cf-gqcc and MDEV-40678. If an immediate upgrade is not possible, the most effective compensating control is to avoid the trigger path entirely: simply do not have MySQL-origin tables created before the plugin's JSON validation was hardened, and do not run ALTER TABLE ... FORCE, OPTIMIZE, or repair operations that rebuild such tables, since the failing test case shows the rebuild is what forces the plugin to decode the corrupted payload - the trade-off is that affected tables remain unreadable or must be dumped from MySQL and restored into MariaDB in a supported format, which is a data-migration effort rather than a runtime mitigation. Restrict filesystem write access to the data directory (and the MySQL-to-MariaDB migration/import tooling) to trusted administrators only, since the attack requires planting or supplying a hostile .frm/.MYI/.MYD set; this narrows the threat to insider or already-compromised-host scenarios but does not eliminate the parsing flaw. Where the mysql_json plugin is not needed, disabling or not loading it removes the affected code from the server entirely, at the cost of losing compatibility with the legacy MySQL JSON tables it serves. Note that although the CVSS vector shows PR:N (no privileges required), the AV:L/UI:R components mean the issue is local and requires an administrator to import or access the crafted table - it is not exploitable by an unauthenticated remote attacker against a default deployment, so prioritization should reflect that limited exposure.

Affected VersionsENISA

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

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

The vulnerability is a classic CWE-125 out-of-bounds read in MariaDB's out-of-tree type_mysql_json plugin (plugin/type_mysql_json/mysql_json.cc), which exists solely to let MariaDB read tables created by MySQL that store data in MySQL's binary JSON (JSONB) on-disk format. Because MariaDB's native JSON type is an alias for LONGTEXT, the plugin must decode MySQL's binary JSON layout when such a table is accessed, and it previously trusted the embedded type/offset/length fields without validating them against the actual buffer length. The upstream fix commit 851f52470d470a96a66e0b7e5599f3b6c2e45907 adds explicit bounds checks - 'value_start >= len' guards before parse_mysql_scalar() and parse_mysql_json_value(), and a 'key_start + key_len > bytes' check before appending an object key - so malformed offsets can no longer drive pointer arithmetic past the end of the buffer. The MDEV-40678 regression test demonstrates the trigger: a MySQL test table (.frm/.MYI/.MYD copied into the datadir) is byte-patched at offsets 0x3c5 and 0x3bc to corrupt the JSON payload, after which ALTER TABLE t1 FORCE fails with 'Error parsing MySQL JSON format' instead of reading out of bounds. The affected CPE (cpe:2.3:a:mariadb:server:*:*:*:*:*:*:*:*) is a broad wildcard for the MariaDB server product rather than a version-pinned entry, so version scoping must come from the advisory text and release tags.

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

Attack is local and depends on an admin importing/accessing a crafted MySQL table (AV:L, UI:R); OOB read yields partial disclosure (C:L) and crash (A:L) with no integrity impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
Low

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 19:02 EUVD
CVE Published
Oct 09, 2026 - 17:22 cve.org
MEDIUM 4.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, the mysql_json plugin assumed that imported MySQL tables contained valid MySQL binary JSON data. A specially prepared MySQL table containing invalid JSON data could cause out-of-bounds reads, information disclosure, or a server crash. 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.1%
Top 98% exploitable
Prevalence
High
MariaDB is a default database shipped in 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.1%
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
Small
Automatable· derived
No
Human Impact· derived
High

Priority Score

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

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.

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