Skip to main content

MariaDB Server EUVDEUVD-2026-102923

| CVE-2026-85985 MEDIUM
Missing Authorization (CWE-862)
2026-10-16 GitHub_M
5.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 as low-privileged DB user
  2. Delivery
    Call CONNECT file-access UDF with target path
  3. Exploit
    Bypass missing FILE/secure_file_priv check
  4. Execution
    Read or write OS-accessible files
  5. Impact
    Disclose or tamper with sensitive data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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

Exploitation Conditions

Exploitation requires the optional CONNECT storage engine plugin (ha_connect) to be installed and loaded - it is not enabled in default MariaDB installations - and the attacker must possess a valid low-privileged database account able to execute the CONNECT file-access UDFs json_file(), bson_file(), jfile_make(), bfile_make(), or jbin_file(). The attacker does NOT need the FILE privilege and is not constrained by secure_file_priv, which is precisely the missing enforcement. Realistic impact is limited by the operating-system file permissions of the database service account (typically the 'mysql' user), so only files that account can read or write are reachable; no end-user interaction is required.

Impact

This is a genuine but moderate-priority authorization flaw (CWE-862), not a high-urgency emergency. The vendor CVSS of 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N) is internally consistent with the description: a network-reachable, low-complexity issue that requires an existing low-privileged database account (PR:L) and yields only partial confidentiality and integrity impact (C:L/I:L) because file access is still bounded by operating-system permissions of the database service account, with no availability impact (A:N). No EPSS score, KEV listing, or public POC was provided, so there is no signal of active or probable near-term exploitation - the absence of these should be read as 'not present in the supplied data' rather than confirmed-safe. The practical risk is further gated by a prerequisite the raw CVSS vector does not capture: the CONNECT storage engine plugin is an optional, non-default component, so most MariaDB deployments are not exposed at all. The source-code diff confirms the root cause and fix (a new connect_can_access_file() helper enforcing FILE_ACL and is_secure_file_path()), which raises confidence that the vulnerability and its remediation are real. Net: a real defense-in-depth gap worth patching on CONNECT-enabled servers, but not a drop-everything issue given PR:L, partial impact, OS-permission limits, and no exploitation evidence.

Exploit ScenarioDerived

An attacker who already holds a low-privileged MariaDB account on a server where the CONNECT engine is loaded calls a CONNECT file-access UDF such as json_file() or jfile_make() with an arbitrary filesystem path. Because FILE privilege and secure_file_priv are not enforced, they read sensitive files (e.g., configuration or credential files) or write files anywhere the database service account's OS permissions allow, bypassing the intended database-level authorization. No public exploit code was identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Missing FILE-privilege and secure_file_priv enforcement in MariaDB Server's optional CONNECT storage engine plugin lets an authenticated, low-privileged database user read or write files on the database host through the file-access UDFs json_file(), bson_file(), jfile_make(), bfile_make(), and jbin_file(), bypassing the access controls those functions were supposed to honor. Affected releases range from 10.6.1 up to (but excluding) the fixed builds 10.6.28, 10.11.19, 11.4.13, 11.8.9, 12.3.3, and 13.0.2; exploitation requires the CONNECT plugin to be installed and loaded (it is not part of a default MariaDB installation) plus a valid low-privileged account able to call the affected UDFs. The practical impact is bounded by the operating-system permissions of the database service account, so reachable files are limited to those the mysqld user can already read or write; no public exploit code has been identified at time of analysis, and the flaw is rated moderate (CVSS 3.1 5.4, AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N) rather than an emergency.

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 as appropriate for your release train - release artifacts are linked at https://github.com/MariaDB/server/releases/tag/mariadb-10.6.28, https://github.com/MariaDB/server/releases/tag/mariadb-10.11.19, https://github.com/MariaDB/server/releases/tag/mariadb-11.4.13, https://github.com/MariaDB/server/releases/tag/mariadb-11.8.9, https://github.com/MariaDB/server/releases/tag/mariadb-12.3.3 and https://github.com/MariaDB/server/releases/tag/mariadb-13.0.2, and the code change is in commit 4f66ca1b69daf1b7e6a562ca8e86d77a6a70abfe (see also advisory https://github.com/MariaDB/server/security/advisories/GHSA-2245-9hm3-wxf6 and MDEV-40323). If immediate upgrading is not possible, the highest-value compensating control is to remove the exposure entirely by not loading the CONNECT plugin - uninstall the plugin, drop ha_connect from the plugin configuration, or rebuild without the CONNECT storage engine; the trade-off is loss of CONNECT and its file/JDBC-style table and UDF functionality, which may break applications that rely on it. Where CONNECT must remain, restrict the attack surface by revoking EXECUTE on the affected UDFs from non-administrative accounts (json_file, bson_file, jfile_make, bfile_make, jbin_file) so only trusted users can call them, accepting that any user still granted EXECUTE retains unconstrained file access. As defense in depth, run mysqld under a dedicated least-privileged OS account whose file permissions exclude sensitive paths (configuration, key material, other tenants' data), set secure_file_priv to a tightly controlled directory, and audit account grants - noting that OS permissions and secure_file_priv only limit blast radius here because the vulnerable code paths ignore secure_file_priv until patched.

Affected VersionsENISA

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

Affected Packages

euvd server fix: 10.6.28, 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

The root cause is CWE-862 (Missing Authorization): the CONNECT engine plugin's file-access user-defined functions were implemented without calling MariaDB's privilege and path checks. Normally, reading or writing server-side files requires the FILE privilege and is additionally constrained by the secure_file_priv system variable, which restricts paths to an administrator-approved directory (or blocks them entirely). The vulnerable UDFs skipped both controls, so an authenticated user with only ordinary database privileges could pass an arbitrary filesystem path and have the server open, read, or write it. The upstream fix (commit 4f66ca1b69daf1b7e6a562ca8e86d77a6a70abfe) adds a new storage/connect/filechk.cpp unit exposing connect_can_access_file(), which calls check_global_access(current_thd, FILE_ACL, true) to require the FILE privilege and then normalizes the supplied path with fn_format() using MY_RELATIVE_PATH | MY_UNPACK_FILENAME | MY_RETURN_REAL_PATH | MY_SAFE_PATH before validating it with is_secure_file_path(). The helper fails closed on NULL paths and on path-truncation overflow, and jsonudf.cpp, bsonudf.cpp and the binary UDF paths were patched to emit "Access denied: FILE privilege or secure_file_priv violation" and return NULL instead of performing the I/O. The CPE entry cpe:2.3:a:mariadb:server:*:*:*:*:*:*:*:* confirms the affected component is the MariaDB server core rather than a separate plugin package.

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

Reachable over the network by an authenticated low-privileged account (PR:L), no user interaction; partial read/write of OS-accessible files bounded by service-account permissions gives C:L/I:L and A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/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
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 16, 2026 - 17:17 EUVD
CVE Published
Oct 16, 2026 - 16:21 cve.org
MEDIUM 5.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 CONNECT engine plugin file-access UDFs json_file(), bson_file(), jfile_make(), bfile_make(), and jbin_file() are affected because each does not enforce FILE privilege or the secure_file_priv setting. A low-privileged attacker can trigger the issue by calling a CONNECT file-access UDF with a filesystem path, then invoke a CONNECT file-access UDF to access a filesystem path and read or write files that the database account is not authorized to access, subject to operating-system permissions. 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

Prevalence
High
widely-deployed open-source MySQL-fork database; CONNECT plugin optional, non-default
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment GitHub

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 N/A
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
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