# CVE-2026-75092: Privilege escalation in Red Hat Enterprise Linux 8

> Attackers with mysql user access can escalate to root during RHEL upgrades by placing malicious plugins in mysql-writable directories loaded by Leapp.

- **Severity:** High 7.3 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 15 Sep 2026
- **Updated:** 15 Sep 2026
- **Also known as:** GHSA-p54p-wj4h-hhp9, RHSA-2026:67608, RHSA-2026:67609, RLSA-2026:67608

## What is CVE-2026-75092?

CVE-2026-75092 is a high-severity vulnerability in Red Hat Enterprise Linux 8, published on 15 Sep 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

### Official 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.

Weakness: CWE-250 (Execution with Unnecessary Privileges)

## Which versions are affected by CVE-2026-75092?


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `leapp-repository` | Red Hat:enterprise_linux:9::appstream | All versions | 0:0.24.0-1.el9_8.1 |
| `leapp-upgrade-el9toel10` | Red Hat:enterprise_linux:9::appstream | All versions | 0:0.24.0-1.el9_8.1 |
| `leapp-upgrade-el9toel10-deps` | Red Hat:enterprise_linux:9::appstream | All versions | 0:0.24.0-1.el9_8.1 |
| `leapp-upgrade-el9toel10-fapolicyd` | Red Hat:enterprise_linux:9::appstream | All versions | 0:0.24.0-1.el9_8.1 |
| `leapp-repository` | Red Hat:rhel_eus:9.6::appstream | All versions | 0:0.22.0-1.el9_6.2 |
| `leapp-upgrade-el9toel10` | Red Hat:rhel_eus:9.6::appstream | All versions | 0:0.22.0-1.el9_6.2 |
| `leapp-upgrade-el9toel10-deps` | Red Hat:rhel_eus:9.6::appstream | All versions | 0:0.22.0-1.el9_6.2 |
| `leapp-repository` | Rocky Linux:9 | All versions | 0:0.24.0-1.el9_8.1 |

## How do I fix CVE-2026-75092?

Apply the vendor's patch.

## Is CVE-2026-75092 being exploited?

There is no known exploitation of CVE-2026-75092 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-75092 and fix it if it is affected.

What it is: CVE-2026-75092 is a high-severity vulnerability in Red Hat Enterprise Linux 8, published on 15 Sep 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Exploitation: There is no known exploitation of CVE-2026-75092 in the wild and no public exploit code.

Affected product: Red Hat Enterprise Linux 8. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-75092/ (Markdown: https://insights.sbomify.com/CVE-2026-75092/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-75092
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-75092
- OSV: https://osv.dev/vulnerability/CVE-2026-75092

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-75092/
Summaries are generated and may contain mistakes; the official description above is the record.
