MEDIUM 4.3

CVE-2026-44169: MariaDB Stored Routine Access Control Bypass

MariaDB's access control for stored routines has a flaw that leaks routine definitions to users who shouldn't see them. If a user receives EXECUTE permission on a stored routine through a database role, they can view the routine's source code without having explicit SHOW CREATE ROUTINE privilege. This bypasses the intended separation between execution rights and visibility rights, allowing unauthorized code inspection. The issue affects MariaDB 11.4, 11.8, and 12.3 releases across a specific version range and has been patched.

Source data · NVD / CISA · public domain

CVSS
3.1 · 4.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Weaknesses (CWE)
CWE-863
Affected products
2 configuration(s)
Published / Modified
2026-06-12 / 2026-06-17

NVD description (verbatim)

MariaDB server is a community developed fork of MySQL server. From versions 11.4.1 to before 11.4.11, 11.8.1 to before 11.8.7, and 12.3.1, a user getting EXECUTE access to a stored routine via a role, could see the routine definition even without SHOW CREATE ROUTINE privilege. This issue has been patched in versions 11.4.11, 11.8.7, and 12.3.2.

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-44169 is an improper access control vulnerability (CWE-863) in MariaDB's role-based privilege model. When a role grants EXECUTE permission on a stored routine (procedure or function), the routine definition becomes visible to users with that role assignment, despite the absence of SHOW CREATE ROUTINE privilege on their account. This occurs because the access control check for viewing routine definitions does not properly validate whether the user has direct SHOW CREATE ROUTINE permission versus inherited execution-only access through a role. The vulnerability is present in MariaDB 11.4.1–11.4.10, 11.8.1–11.8.6, and version 12.3.1. Patched versions are 11.4.11, 11.8.7, and 12.3.2.

Business impact

The exposure of stored routine definitions can reveal business logic, database design patterns, embedded credentials or API keys, and proprietary algorithms. In regulated environments (healthcare, finance, PCI-DSS), unauthorized access to routine code may constitute a compliance violation. The practical impact depends on routine content—if routines contain hard-coded secrets, third-party integrations, or security-sensitive logic, the exposure amplifies downstream risk. This is particularly concerning in multi-tenant or role-delegated environments where DBAs intend to compartmentalize access.

Affected systems

MariaDB server versions 11.4.1 through 11.4.10, 11.8.1 through 11.8.6, and 12.3.1 are affected. Organizations running these specific versions with stored routines and role-based access controls are in scope. Later patch versions (11.4.11, 11.8.7, 12.3.2) contain the fix. Versions outside these ranges are not affected by this particular issue.

Exploitability

Exploitation requires existing database login credentials (authenticated attacker). The CVSS 3.1 score of 4.3 reflects low attack complexity and local attack surface once authenticated. An attacker needs only standard SQL query capability to view routine definitions; no special tools or zero-day techniques are required. The barrier to exploitation is user access to the database, not technical sophistication. In environments with overly permissive role assignments or shared credentials, exposure risk is elevated.

Remediation

Upgrade MariaDB to patched versions: 11.4.11 or later for the 11.4 line, 11.8.7 or later for the 11.8 line, or 12.3.2 or later for the 12.3 line. Test patches in non-production environments first, especially if applications depend on specific routine behavior. After patching, review role assignments and SHOW CREATE ROUTINE privilege grants to ensure alignment with security policy. Consider revoking unnecessary EXECUTE permissions on sensitive routines in the interim.

Patch guidance

Plan upgrades within your standard maintenance windows. Backup databases before applying patches. Test failover and replication scenarios post-patch if your deployment includes high-availability configurations. Verify no application logic depends on the previous (incorrect) behavior where roles granted implicit routine visibility. Check release notes for any deprecations or behavior changes in each patch version.

Detection guidance

Query the INFORMATION_SCHEMA.ROUTINES table to list all stored procedures and functions in your database. Cross-reference against SHOW GRANTS output for each user and role to identify which users have EXECUTE permission through roles but lack explicit SHOW CREATE ROUTINE privilege. Audit access logs for any SELECT queries against information_schema or SHOW CREATE ROUTINE statements executed by users who should not have routine visibility. In security monitoring, flag any user account receiving EXECUTE-only role membership when handling sensitive routines.

Why prioritize this

While the CVSS score is moderate (4.3), the vulnerability should be prioritized based on the sensitivity of routine content and the principle of least privilege. Organizations with strict code-as-intellectual-property policies, compliance mandates around code visibility, or routines containing secrets or business logic should patch sooner. High-priority targets include financial systems, healthcare databases, and multi-tenant SaaS platforms. Lower-priority candidates are development/test environments or databases with non-sensitive routine contents.

Risk score, explained

The CVSS 3.1 score of 4.3 (MEDIUM) is calculated from network-accessible attack surface (AV:N), low attack complexity (AC:L), requirement for low privilege authentication (PR:L), no user interaction needed (UI:N), and a confidentiality impact limited to the confidentiality of routine definitions (C:L). Integrity and availability are unaffected (I:N, A:N). The score appropriately reflects that this is a controlled information disclosure rather than a critical system compromise, but emphasizes that mitigation depends on the business sensitivity of routine contents.

Frequently asked questions

Does this vulnerability allow code execution or data theft from tables?

No. The vulnerability only exposes the text of routine definitions themselves. It does not grant unauthorized table access, data modification, or code execution beyond what the user's existing EXECUTE permission already allowed. The risk is confined to disclosure of routine source code.

Are community/open-source MariaDB deployments equally affected?

Yes, all MariaDB instances running affected versions are vulnerable, regardless of deployment model (self-hosted, cloud-managed, containerized). The flaw is in the core access control logic and affects any configuration using stored routines and role-based privilege assignment.

Can I mitigate this without patching immediately?

Temporarily, you can revoke EXECUTE permissions on sensitive routines and grant them directly to specific users only (not via roles), ensuring those users have explicit SHOW CREATE ROUTINE privilege if needed. This is a workaround, not a permanent fix; patching remains essential. Audit which routines contain sensitive logic and prioritize their access review.

Does this affect MySQL, PostgreSQL, or other databases?

This vulnerability is specific to MariaDB. MySQL, PostgreSQL, and other databases have different access control models and are not affected by CVE-2026-44169, though they may have similar or unrelated privilege issues. Always verify patch status separately for each DBMS in use.

This analysis is provided for informational purposes and reflects the state of public vulnerability data as of the publication date. Verify all patch versions and affected version ranges against the official MariaDB security advisory and release notes before deploying fixes. Your organization's specific risk depends on deployment architecture, routine content sensitivity, and access control policies. Consult with your database administrator and security team before taking remediation action. SEC.co makes no warranty regarding the completeness or accuracy of derived risk assessments. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).