RHSA-2026:67608
Vulnerability from csaf_redhat - Published: 2026-09-15 16:12 - Updated: 2026-09-15 17:21A 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.
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: AppStream-9.8.0.Z.MAIN.EUS:leapp-repository-0:0.24.0-1.el9_8.1.src | — |
Vendor Fix
fix
Workaround
|
|
| Unresolved product id: AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch | — |
Vendor Fix
fix
Workaround
|
|
| Unresolved product id: AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch | — |
Vendor Fix
fix
Workaround
|
|
| Unresolved product id: AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch | — |
Vendor Fix
fix
Workaround
|
{
"document": {
"aggregate_severity": {
"namespace": "https://access.redhat.com/security/updates/classification/",
"text": "Important"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright \u00a9 Red Hat, Inc. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "An update for leapp-repository is now available for Red Hat Enterprise Linux 9.\n\nRed Hat Product Security has rated this update as having a security impact of Important. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section.",
"title": "Topic"
},
{
"category": "general",
"text": "Repositories for leapp\n\nSecurity Fix(es):\n\n* leapp-repository: leapp-upgrade-el9toel10: leapp-upgrade-el9toel10: scan_mysql runs mysqld --validate-config as root and can load mysql-writable plugins (CVE-2026-75092)\n\nFor more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.",
"title": "Details"
},
{
"category": "legal_disclaimer",
"text": "This content is licensed under the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/). If you distribute this content, or a modified version of it, you must provide attribution to Red Hat Inc. and provide a link to the original.",
"title": "Terms of Use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://access.redhat.com/security/team/contact/",
"issuing_authority": "Red Hat Product Security is responsible for vulnerability handling across all Red Hat products and services.",
"name": "Red Hat Product Security",
"namespace": "https://www.redhat.com"
},
"references": [
{
"category": "self",
"summary": "https://access.redhat.com/errata/RHSA-2026:67608",
"url": "https://access.redhat.com/errata/RHSA-2026:67608"
},
{
"category": "external",
"summary": "https://access.redhat.com/security/updates/classification/#important",
"url": "https://access.redhat.com/security/updates/classification/#important"
},
{
"category": "external",
"summary": "2517499",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2517499"
},
{
"category": "self",
"summary": "Canonical URL",
"url": "https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_67608.json"
}
],
"title": "Red Hat Security Advisory: leapp-repository security update",
"tracking": {
"current_release_date": "2026-09-15T17:21:47+00:00",
"generator": {
"date": "2026-09-15T17:21:47+00:00",
"engine": {
"name": "Red Hat SDEngine",
"version": "5.3.21"
}
},
"id": "RHSA-2026:67608",
"initial_release_date": "2026-09-15T16:12:26+00:00",
"revision_history": [
{
"date": "2026-09-15T16:12:26+00:00",
"number": "1",
"summary": "Initial version"
},
{
"date": "2026-09-15T16:12:26+00:00",
"number": "2",
"summary": "Last updated version"
},
{
"date": "2026-09-15T17:21:47+00:00",
"number": "3",
"summary": "Last generated version"
}
],
"status": "final",
"version": "3"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_name",
"name": "Red Hat Enterprise Linux AppStream (v. 9)",
"product": {
"name": "Red Hat Enterprise Linux AppStream (v. 9)",
"product_id": "AppStream-9.8.0.Z.MAIN.EUS",
"product_identification_helper": {
"cpe": "cpe:/a:redhat:enterprise_linux:9::appstream"
}
}
}
],
"category": "product_family",
"name": "Red Hat Enterprise Linux"
},
{
"branches": [
{
"category": "product_version",
"name": "leapp-repository-0:0.24.0-1.el9_8.1.src",
"product": {
"name": "leapp-repository-0:0.24.0-1.el9_8.1.src",
"product_id": "leapp-repository-0:0.24.0-1.el9_8.1.src",
"product_identification_helper": {
"purl": "pkg:rpm/redhat/leapp-repository@0.24.0-1.el9_8.1?arch=src"
}
}
}
],
"category": "architecture",
"name": "src"
},
{
"branches": [
{
"category": "product_version",
"name": "leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"product": {
"name": "leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"product_id": "leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"product_identification_helper": {
"purl": "pkg:rpm/redhat/leapp-upgrade-el9toel10@0.24.0-1.el9_8.1?arch=noarch"
}
}
},
{
"category": "product_version",
"name": "leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"product": {
"name": "leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"product_id": "leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"product_identification_helper": {
"purl": "pkg:rpm/redhat/leapp-upgrade-el9toel10-deps@0.24.0-1.el9_8.1?arch=noarch"
}
}
},
{
"category": "product_version",
"name": "leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch",
"product": {
"name": "leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch",
"product_id": "leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch",
"product_identification_helper": {
"purl": "pkg:rpm/redhat/leapp-upgrade-el9toel10-fapolicyd@0.24.0-1.el9_8.1?arch=noarch"
}
}
}
],
"category": "architecture",
"name": "noarch"
}
],
"category": "vendor",
"name": "Red Hat"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "leapp-repository-0:0.24.0-1.el9_8.1.src as a component of Red Hat Enterprise Linux AppStream (v. 9)",
"product_id": "AppStream-9.8.0.Z.MAIN.EUS:leapp-repository-0:0.24.0-1.el9_8.1.src"
},
"product_reference": "leapp-repository-0:0.24.0-1.el9_8.1.src",
"relates_to_product_reference": "AppStream-9.8.0.Z.MAIN.EUS"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch as a component of Red Hat Enterprise Linux AppStream (v. 9)",
"product_id": "AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch"
},
"product_reference": "leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"relates_to_product_reference": "AppStream-9.8.0.Z.MAIN.EUS"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch as a component of Red Hat Enterprise Linux AppStream (v. 9)",
"product_id": "AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch"
},
"product_reference": "leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"relates_to_product_reference": "AppStream-9.8.0.Z.MAIN.EUS"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch as a component of Red Hat Enterprise Linux AppStream (v. 9)",
"product_id": "AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch"
},
"product_reference": "leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch",
"relates_to_product_reference": "AppStream-9.8.0.Z.MAIN.EUS"
}
]
},
"vulnerabilities": [
{
"acknowledgments": [
{
"names": [
"Christopher Lusk"
],
"organization": "North Echo Security Research"
}
],
"cve": "CVE-2026-75092",
"cwe": {
"id": "CWE-250",
"name": "Execution with Unnecessary Privileges"
},
"discovery_date": "2026-08-17T16:32:16.614000+00:00",
"ids": [
{
"system_name": "Red Hat Bugzilla ID",
"text": "2517499"
}
],
"notes": [
{
"category": "description",
"text": "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:\nmysqld --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.\n\nA 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\u2019s runtime-user check and before plugin-symbol validation.\n\nWhen 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 \u2014 OS-level execution as the mysql service identity is required, plus later administrator invocation of Leapp.",
"title": "Vulnerability description"
},
{
"category": "summary",
"text": "leapp-repository: leapp-upgrade-el9toel10: leapp-upgrade-el9toel10: scan_mysql runs mysqld --validate-config as root and can load mysql-writable plugins",
"title": "Vulnerability summary"
},
{
"category": "other",
"text": "This is an Important privilege escalation flaw in the Leapp upgrade process from RHEL 9 to RHEL 10. An attacker with prior OS-level code execution as the `mysql` service user can leverage this during a Leapp preupgrade or upgrade to execute arbitrary code as root. This occurs because the `scan_mysql` actor invokes `mysqld --validate-config` as root, allowing it to load malicious plugins from a MySQL-owned directory.",
"title": "Statement"
},
{
"category": "general",
"text": "The CVSS score(s) listed for this vulnerability do not reflect the associated product\u0027s status, and are included for informational purposes to better understand the severity of this vulnerability.",
"title": "CVSS score applicability"
}
],
"product_status": {
"fixed": [
"AppStream-9.8.0.Z.MAIN.EUS:leapp-repository-0:0.24.0-1.el9_8.1.src",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch"
]
},
"references": [
{
"category": "self",
"summary": "Canonical URL",
"url": "https://access.redhat.com/security/cve/CVE-2026-75092"
},
{
"category": "external",
"summary": "RHBZ#2517499",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2517499"
},
{
"category": "external",
"summary": "https://www.cve.org/CVERecord?id=CVE-2026-75092",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-75092"
},
{
"category": "external",
"summary": "https://nvd.nist.gov/vuln/detail/CVE-2026-75092",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-75092"
},
{
"category": "external",
"summary": "https://github.com/oamg/leapp-repository",
"url": "https://github.com/oamg/leapp-repository"
},
{
"category": "external",
"summary": "https://github.com/oamg/leapp-repository/commit/3e4cafffc8de1600a66519b326a407f37b665356",
"url": "https://github.com/oamg/leapp-repository/commit/3e4cafffc8de1600a66519b326a407f37b665356"
},
{
"category": "external",
"summary": "https://github.com/oamg/leapp-repository/pull/1343",
"url": "https://github.com/oamg/leapp-repository/pull/1343"
}
],
"release_date": "2026-09-15T00:00:00+00:00",
"remediations": [
{
"category": "vendor_fix",
"date": "2026-09-15T16:12:26+00:00",
"details": "For details on how to apply this update, which includes the changes described in this advisory, refer to:\n\nhttps://access.redhat.com/articles/11258",
"product_ids": [
"AppStream-9.8.0.Z.MAIN.EUS:leapp-repository-0:0.24.0-1.el9_8.1.src",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch"
],
"restart_required": {
"category": "none"
},
"url": "https://access.redhat.com/errata/RHSA-2026:67608"
},
{
"category": "workaround",
"details": "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.",
"product_ids": [
"AppStream-9.8.0.Z.MAIN.EUS:leapp-repository-0:0.24.0-1.el9_8.1.src",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.3,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"products": [
"AppStream-9.8.0.Z.MAIN.EUS:leapp-repository-0:0.24.0-1.el9_8.1.src",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-deps-0:0.24.0-1.el9_8.1.noarch",
"AppStream-9.8.0.Z.MAIN.EUS:leapp-upgrade-el9toel10-fapolicyd-0:0.24.0-1.el9_8.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"details": "Important"
}
],
"title": "leapp-repository: leapp-upgrade-el9toel10: leapp-upgrade-el9toel10: scan_mysql runs mysqld --validate-config as root and can load mysql-writable plugins"
}
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.