UBUNTU-CVE-2026-90586

Source
https://ubuntu.com/security/CVE-2026-90586
Import Source
https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json
JSON Data
https://api.osv.dev/v1/vulns/UBUNTU-CVE-2026-90586
Upstream
Published
2026-11-10T00:00:00Z
Modified
2026-11-11T09:41:41Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
  • Ubuntu - medium
Summary
[none]
Details

The Xtensa MMU userspace port never initialized the per-thread page-table pointer thread->arch.ptables during thread setup, while arch_mem_domain_thread_add() in arch/xtensa/core/ptables.c uses a non-NULL value of that field as its "this thread is migrating from another memory domain" predicate. For a thread whose struct k_thread backing memory is not zeroed, the field holds stale data and the kernel takes the migration branch, passing that stale value to reset_region() as the base of a level-1 page table. The equivalent field on x86 is explicitly cleared in z_x86_userspace_prepare_thread() for exactly this reason; the Xtensa port adopted the predicate without the initialization. The condition is reachable from an unprivileged user-mode thread on a build with CONFIG_XTENSA_MMU, CONFIG_USERSPACE and dynamically allocated kernel objects. k_object_alloc(K_OBJ_THREAD) is a system call and allocates the thread object from the caller's resource pool without zeroing it, and the k_thread_create() verifier accepts such an object while forcing the K_USER option, so the migration branch is taken whenever the recycled heap bytes at that offset are non-zero. Because a user thread can also allocate, fill and free other kernel objects from the same heap, the stale bytes are groomable rather than merely random. Walking the bogus table in region_map_update() performs an unguarded index into l2_page_tables_counter[], may copy from and write through the attacker-influenceable level-1 base in dup_l2_table_if_needed(), and finally writes a page-table entry through a second pointer read out of that memory — once per page of the new thread's stack. The result is out-of-bounds reads and writes executed in supervisor mode, ranging from an immediate kernel panic (observed as Xtensa EXCAUSE 13 on Intel ADSP DSP firmware with user threads) to corruption of kernel memory and escape from the user-mode sandbox.

References

Affected packages

Ubuntu:16.04:LTS
zephyr

Package

Name
zephyr
Purl
pkg:deb/ubuntu/zephyr?arch=source&distro=xenial

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

3.*
3.1.2-1
3.1.2-1build1

Ecosystem specific

{
    "binaries": [
        {
            "binary_name": "libzephyr4",
            "binary_version": "3.1.2-1build1"
        },
        {
            "binary_name": "libzephyr4-krb5",
            "binary_version": "3.1.2-1build1"
        },
        {
            "binary_name": "zephyr-clients",
            "binary_version": "3.1.2-1build1"
        },
        {
            "binary_name": "zephyr-server",
            "binary_version": "3.1.2-1build1"
        },
        {
            "binary_name": "zephyr-server-krb5",
            "binary_version": "3.1.2-1build1"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json"
Ubuntu:18.04:LTS
zephyr

Package

Name
zephyr
Purl
pkg:deb/ubuntu/zephyr?arch=source&distro=bionic

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

3.*
3.1.2-1build1
3.1.2-1build2

Ecosystem specific

{
    "binaries": [
        {
            "binary_name": "libzephyr4",
            "binary_version": "3.1.2-1build2"
        },
        {
            "binary_name": "libzephyr4-krb5",
            "binary_version": "3.1.2-1build2"
        },
        {
            "binary_name": "zephyr-clients",
            "binary_version": "3.1.2-1build2"
        },
        {
            "binary_name": "zephyr-server",
            "binary_version": "3.1.2-1build2"
        },
        {
            "binary_name": "zephyr-server-krb5",
            "binary_version": "3.1.2-1build2"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json"
Ubuntu:20.04:LTS
zephyr

Package

Name
zephyr
Purl
pkg:deb/ubuntu/zephyr?arch=source&distro=focal

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

3.*
3.1.2-1build3

Ecosystem specific

{
    "binaries": [
        {
            "binary_name": "libzephyr4",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "libzephyr4-krb5",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "zephyr-clients",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "zephyr-server",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "zephyr-server-krb5",
            "binary_version": "3.1.2-1build3"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json"
Ubuntu:22.04:LTS
zephyr

Package

Name
zephyr
Purl
pkg:deb/ubuntu/zephyr?arch=source&distro=jammy

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

3.*
3.1.2-1build3

Ecosystem specific

{
    "binaries": [
        {
            "binary_name": "libzephyr4",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "libzephyr4-krb5",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "zephyr-clients",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "zephyr-server",
            "binary_version": "3.1.2-1build3"
        },
        {
            "binary_name": "zephyr-server-krb5",
            "binary_version": "3.1.2-1build3"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json"
Ubuntu:24.04:LTS
zephyr

Package

Name
zephyr
Purl
pkg:deb/ubuntu/zephyr?arch=source&distro=noble

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

3.*
3.1.2-1.1
3.1.2-1.1build1

Ecosystem specific

{
    "binaries": [
        {
            "binary_name": "libzephyr4",
            "binary_version": "3.1.2-1.1build1"
        },
        {
            "binary_name": "libzephyr4-krb5",
            "binary_version": "3.1.2-1.1build1"
        },
        {
            "binary_name": "zephyr-clients",
            "binary_version": "3.1.2-1.1build1"
        },
        {
            "binary_name": "zephyr-server",
            "binary_version": "3.1.2-1.1build1"
        },
        {
            "binary_name": "zephyr-server-krb5",
            "binary_version": "3.1.2-1.1build1"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json"
Ubuntu:26.04:LTS
zephyr

Package

Name
zephyr
Purl
pkg:deb/ubuntu/zephyr?arch=source&distro=resolute

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

3.*
3.1.2-1.1build1
3.1.2-4

Ecosystem specific

{
    "binaries": [
        {
            "binary_name": "libzephyr4",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "libzephyr4-krb5",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "zephyr-clients",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "zephyr-server",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "zephyr-server-krb5",
            "binary_version": "3.1.2-4"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json"
Ubuntu:26.10
zephyr

Package

Name
zephyr
Purl
pkg:deb/ubuntu/zephyr?arch=source&distro=stonking

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

3.*
3.1.2-4

Ecosystem specific

{
    "binaries": [
        {
            "binary_name": "libzephyr4",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "libzephyr4-krb5",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "zephyr-clients",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "zephyr-server",
            "binary_version": "3.1.2-4"
        },
        {
            "binary_name": "zephyr-server-krb5",
            "binary_version": "3.1.2-4"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-90586.json"