Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Red Hat | Red Hat Enterprise Linux 9 | — | — |
| Red Hat | Red Hat Enterprise Linux 9.6 Extended Update Support | — | — |
| Red Hat | Red Hat Enterprise Linux 8 | — | — |
| Red Hat | Red Hat OpenStack Platform 17.1 | — | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9 | leapp-repository +3 | 0.24.0-1.el9_8.1 | RHSA-2026:67608 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9.6 EUS | leapp-repository +2 | 0.22.0-1.el9_6.2 | RHSA-2026:67609 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 9 | leapp-repository | 0.24.0-1.el9_8.1 | RLSA-2026:67608 |
Advisories 4
- WID-SEC-2026-3382 Red Hat Enterprise Linux (firewalld, leapp-repository, tesseract): Mehrere Schwachstellen BSI CERT-Bund (WID) · Oct 29, 2026
- RLSA-2026:67608 Important: leapp-repository security update Rocky Linux Security Advisories · Sep 16, 2026
- RHSA-2026:67609 Red Hat Security Advisory: leapp-repository security update Red Hat Security Advisories (RHSA) · Sep 16, 2026
- RHSA-2026:67608 Red Hat Security Advisory: leapp-repository security update Red Hat Security Advisories (RHSA) · Sep 16, 2026
References
- RHSA-2026:67608 vendor-advisory
- RHSA-2026:67609 vendor-advisory
- https://access.redhat.com/security/cve/CVE-2026-75092 vdb-entry
- RHBZ#2517499 issue-tracking
- https://github.com/oamg/leapp-repository
- https://github.com/oamg/leapp-repository/commit/3e4cafffc8de1600a66519b326a407f37b665356
- https://github.com/oamg/leapp-repository/pull/1343