Execution with Unnecessary Privileges Affecting leapp-upgrade-el9toel10-deps package, versions <0:0.24.0-1.el9_8.1


Severity

Recommended
0.0
high
0
10

Based on Red Hat Enterprise Linux security rating.

Threat Intelligence

EPSS
0.19% (9th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-RHEL9-LEAPPUPGRADEEL9TOEL10DEPS-19969077
  • published20 Sept 2026
  • disclosed15 Sept 2026

Introduced: 15 Sep 2026

CVE-2026-75092  (opens in a new tab)
CWE-250  (opens in a new tab)

How to fix?

Upgrade RHEL:9 leapp-upgrade-el9toel10-deps to version 0:0.24.0-1.el9_8.1 or higher.
This issue was patched in RHSA-2026:67608.

NVD Description

Note: Versions mentioned in the description apply only to the upstream leapp-upgrade-el9toel10-deps package and not the leapp-upgrade-el9toel10-deps package as distributed by RHEL. See How to fix? for RHEL:9 relevant fixed versions and status.

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.

CVSS Base Scores

version 3.1