Public vulnerability disclosure

CVE-2026-75092

Leapp-repository: leapp-upgrade-el9toel10: leapp-upgrade-el9toel10: scan_mysql runs mysqld --validate-config as root and can load mysql-writable plugins

publishedCWE-250

A privilege escalation flaw was found in the scan_mysql actor of leapp-upgrade-el9toel10 (provided by leapp-repository). During RHEL 9 to RHEL 10 upgrades, the actor runs: mysqld --validate-config --log-error-verbosity=2 directly as root in the Leapp actor context, bypassing the packaged MySQL systemd unit that normally starts the daemon as User=mysql. A process compromised as the mysql OS identity can write a version-2 persisted configuration (mysqld-auto.cnf) and a malicious shared object into /var/lib/mysql (a directory owned by mysql). That persisted map can set plugin_dir to /var/lib/mysql and early_plugin_load (or related loader options such as plugin_load / plugin_load_add) so MySQL loads the attacker-controlled object during configuration validation. Plugin loading can reach dlopen() before MySQL’s runtime-user check and before plugin-symbol validation. When an administrator subsequently runs the documented Leapp preupgrade or upgrade workflow, attacker-controlled code can execute as UID 0 with a full capability set in an unconfined SELinux domain (unconfined_t). The attack does not require write access to the default system plugin path under /usr; redirecting plugin_dir via mysql-owned persisted state is sufficient. Ordinary SQL privileges alone (including highly privileged SQL accounts) are not a sufficient startpoint — OS-level execution as the mysql service identity is required, plus later administrator invocation of Leapp.

Technical severity7.3 highCVSS 3.1 · CNA: redhat
Published2026-09-15Source updated 2026-11-04
Collected2026-11-052 attributed sources

Fixes and workarounds

Workaround

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

Source: CNA: redhat

Affected products and versions

Affected products, source version ranges and reporting authorities
ProductVersionsAuthority
Red Hat Enterprise Linux 9
Red Hat
leapp-repository
https://access.redhat.com/downloads/content/package-browser/
≥ 0:0.24.0-1.el9_8.1; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 9.6 Extended Update Support
Red Hat
leapp-repository
https://access.redhat.com/downloads/content/package-browser/
≥ 0:0.22.0-1.el9_6.2; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 8
Red Hat
leapp-repository
https://access.redhat.com/downloads/content/package-browser/
Range not reported
Other versions: unaffected
CNA: redhat
Red Hat OpenStack Platform 17.1
Red Hat
leapp-repository-openstack
https://access.redhat.com/downloads/content/package-browser/
Range not reported
Other versions: unaffected
CNA: redhat

Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.

CVSS assessments

CVSS scores, vectors and reporting authorities
Version / scoreVectorAuthority
3.1 / 7.3
high
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:HCNA: redhat

Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

References

For agents and automation

Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.

Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.

Endpoints and access details

https://api.y2.dev/api/v2/cyber/cves
https://api.y2.dev/api/v2/cyber/cves/{cveId}

A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.

For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.

Agent access JSON · OpenAPI · CVE API guide