Skip to main content

illumos nscd CVE-2026-104112

| EUVDEUVD-2026-95801 MEDIUM
Missing Release of Resource after Effective Lifetime (CWE-772)
2026-10-09 illumos GHSA-77hg-3j5h-xvf6
6.8
CVSS 4.0 · Vendor: illumos
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain unprivileged local account in any zone
  2. Delivery
    Open file descriptor and craft door_call payload
  3. Exploit
    Loop door_call() passing FD to zone's nscd door
  4. Execution
    nscd FD table grows unbounded in kernel memory
  5. Impact
    nscd hangs, stalling processes across all zones

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource cleanup on lifecycle end
Exploitation Conditions

Requires a local, authenticated but unprivileged account on an illumos/OmniOS host (PR:L), including merely an account inside a non-global zone, since the main nscd door at /var/run/name_service_door accepts passed descriptors from any user in its zone. The specific trigger is repeatedly invoking door_call() against that door while passing a file descriptor the request does not use, exploiting that switcher() in nscd_frontend.c fails to close such descriptors and that nscd runs with an unlimited file-descriptor limit. Limiting factors: no remote vector (local access mandatory), no exploitation of default network services, impact is denial-of-service only with no data exposure, and the system must be running an illumos distribution built before illumos-gate commit af810a72; patched builds cap passed descriptors to one (DOOR_PARAM_DESC_MAX=1) and close unused descriptors, closing the vector.

Impact

All signals converge on this being a genuine but bounded local availability threat rather than a mass-exploitation priority. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N) confirms a local attacker needs only a low-privileged account and faces low attack complexity with no user interaction, and the impact is purely availability (VC:N/VI:N/VA:H with subsequent-system SA:H), consistent with the CWE-772 resource-exhaustion description - there is no confidentiality or integrity exposure. The notable risk amplifier is scope: because nscd runs with an unlimited file-descriptor limit and its door accepts descriptors from any user in the zone, an unprivileged user in a single non-global zone can hang nscd for processes across all zones on the host (hence SA:H). CVSS exploit maturity is E:P (proof-of-concept), the vulnerability is NOT in CISA KEV, and no EPSS score was provided; there is no evidence of active or widespread exploitation. The CVSS vector and the textual description agree (both indicate local, low-privilege, availability-only), so no signal conflict exists. Net: a legitimate patch-worthy DoS in multi-tenant/zone environments, but low urgency relative to network-exploitable or RCE issues, and constrained to platforms with an attacker-controlled local account.

Exploit ScenarioDerived

An unprivileged user with shell access in a non-global zone writes a small program that opens a file descriptor and repeatedly issues door_call() to /var/run/name_service_door, passing the descriptor each time. Because switcher() never closes descriptors the request does not consume and nscd has no fd limit, nscd's file-descriptor table grows unbounded in kernel memory until nscd becomes unresponsive, degrading name-service lookups for processes in every zone on the host. CVSS reports proof-of-concept exploit maturity (E:P); no weaponized or in-the-wild exploit is confirmed.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 09, 2026

Kernel memory exhaustion in the illumos name service cache daemon (nscd) lets any local, unprivileged user - including one confined to a non-global zone - drive the daemon's file descriptor table to grow without bound. The nscd door at /var/run/name_service_door accepts passed file descriptors from any user in its zone, and switcher() in nscd_frontend.c never releases descriptors that a request does not consume, so a loop of door_call() invocations against the daemon slowly starves kernel memory and can render processes in every zone on the host unresponsive. Impact is availability-only with no confidentiality or integrity loss, and it is confirmed to affect illumos-gate and OmniOS builds predating illumos-gate commit af810a72, which caps in-flight descriptors and closes unused ones; no CISA KEV listing or public exploit code is documented in the supplied references, and the defect has been latent in the illumos codebase since a 2006 commit (cb5caa98).

RemediationAI

Upstream fix available (commit af810a72c09944e884ec695e8dbf1702a4f424ae); a released patched version number is not specified in the available data, so operators of OmniOS and other illumos distributions must update to a build that incorporates that illumos-gate revision (or later) and restart nscd - the change closes unused door-passed descriptors, funnels all switcher() return paths through a cleanup path, and caps DOOR_PARAM_DESC_MAX to one descriptor per call. Until a patched build can be deployed, the most direct compensating control is to bound the damage rather than eliminate the trigger: lower nscd's file-descriptor limit (for example via its SMF service configuration or a project rlimit) so its descriptor table cannot grow unchecked - the trade-off is that nscd will begin failing or logging descriptor-exhaustion errors under legitimate load and name-service lookups may fall back to direct LDAP/NIS/file access. Restricting the mode on /var/run/name_service_door so that only privileged users hold write permission prevents unprivileged door_call() submission, but this breaks hostname and identity resolution for ordinary local users, which is generally unacceptable on a multi-user system. Inside a non-global zone, a zone administrator can disable the zone's nscd instance (svcadm disable nscd) to stop that zone from contributing to host-wide exhaustion, accepting slower or differently-cached lookups; the global-zone nscd still requires the code fix. Monitoring nscd's open-descriptor counter and watching for growth driven by repeated door calls also gives an early detection signal while patches are staged, since only a local account or a compromised non-global zone is needed to sustain the loop. Vendor references: https://illumos.org/issues/18494 and https://github.com/illumos/illumos-gate/commit/af810a72c09944e884ec695e8dbf1702a4f424ae.

Affected VersionsENISA

illumos-gate cb5caa98562cf06753163f558cbcfe30b8f4673a <af810a72c09944e884ec695e8dbf1702a4f424ae
OmniOS r151056 <r151056aw
OmniOS any <r151054
OmniOS r151058 <r151058w
OmniOS r151054 <r151054bw

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

illumos doors are a fast local RPC mechanism in which a client passes a buffer plus an optional array of door_desc_t structures to a server thread; each descriptor entry carries a d_attributes bitmap, whose DOOR_DESCRIPTOR bit signals that a file descriptor travels with the call. nscd exposes its service through a door installed at /var/run/name_service_door (one per zone) and its front end dispatcher switcher() in usr/src/cmd/nscd/nscd_frontend.c only closes the descriptors a given procedure actually consumes - for every other request path it simply door_return()s without touching the passed descriptors. Because nscd is started with an unlimited file-descriptor limit, each leaked descriptor is retained in the daemon's kernel-resident descriptor table, so a repeated door_call() by any user permitted to write to that door grows nscd's table without bound. The root cause class is CWE-772 (Missing Release of Resource after Effective Lifetime) - a descriptor leak rather than a memory-safety bug. The fix in illumos-gate commit af810a72 introduces a helper nscd_close_dp() that clears DOOR_DESCRIPTOR and closes the descriptor idempotently, restructures switcher() so every return path funnels through a bail label that conditionally frees the descriptor, makes _nscd_proc_iamhere() return a boolean indicating whether the caller kept the descriptor, rejects self-cred requests that arrive without a door descriptor, and hardens the server with door_setparam(fd, DOOR_PARAM_DESC_MAX, 1) so only a single descriptor may be attached per call. The independent assessment rates this CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H, i.e. a scope-changing, availability-only denial of service requiring local unprivileged access; the vendor-supplied CVSS v4.0 vector is 6.8 with exploit-maturity metric P, reflecting proof-of-concept-level code rather than confirmed in-the-wild exploitation.

Know when Illumos gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (illumos) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:P
vuln.today AI 6.5 MEDIUM

Local low-privileged account with low complexity and no UI; scope is Changed because a single zone's user hangs nscd for all zones host-wide; availability-only impact so C:N/I:N/A:H.

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H

Primary rating from Vendor (illumos).

CVSS VectorVendor: illumos

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
High

DescriptionCVE.org

A missing release of resources in the illumos name service cache daemon (nscd) allows a local user to exhaust kernel memory. The nscd door server procedure, switcher() in usr/src/cmd/nscd/nscd_frontend.c, does not close file descriptors that are passed with a door call but not used by the request, and the main nscd door at /var/run/name_service_door accepts passed descriptors from any user in its zone. Because nscd also runs with an unlimited file descriptor limit, an unprivileged local user, including one in a non-global zone, can repeatedly pass a descriptor to its zone's nscd in a door_call() loop, causing the file descriptor table of nscd to grow without bound in kernel memory. This causes a denial of service of nscd and can render processes in all zones on the host unresponsive. The flaw has existed since 2006 (illumos-gate commit cb5caa98), and affects any illumos distribution prior to illumos-gate commit af810a72.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
illumos/OmniOS are niche Solaris-derived server OSes, limited enterprise footprint
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2012-0217 HIGH POC
7.2 Jun 12

The x86-64 kernel system-call functionality in Xen 4.1.2 and earlier, as used in Citrix XenServer 6.0.2 and earlier and

CVE-2016-6561 HIGH POC
7.5 Mar 31

illumos smbsrv NULL pointer dereference allows system crash. Rated high severity (CVSS 7.5), this vulnerability is remot

CVE-2020-27678 CRITICAL
9.8 Oct 26

An issue was discovered in illumos before 2020-10-22, as used in OmniOS before r151030by, r151032ay, and r151034y and Sm

CVE-2026-15422 CRITICAL
9.1 Jul 16

Remote kernel heap corruption in the illumos SCTP stack lets an unauthenticated attacker send a crafted INIT ACK packet

CVE-2016-6560 HIGH
8.6 Mar 31

illumos osnet-incorporation bcopy() and bzero() implementations make signed instead of unsigned comparisons allowing a s

CVE-2023-31284 HIGH
7.8 May 04

illumos illumos-gate before 676abcb has a stack buffer overflow in /dev/net, leading to privilege escalation via a stat

CVE-2026-102916 MEDIUM
6.8 Oct 09

Host denial-of-service in illumos bhyve allows a privileged guest user to panic the host by executing a REP-prefixed MOV

CVE-2026-15449 MEDIUM
5.8 Jul 16

Kernel heap corruption in the illumos data-link pseudo-driver (dld) allows an unprivileged local user - including one co

CVE-2026-104115 MEDIUM
5.4 Oct 09

Local denial of service in the illumos reparsed daemon (reparsed) lets a low-privileged authenticated local user crash t

CVE-2026-104114 MEDIUM
5.4 Oct 09

NULL pointer dereference in the illumos Network Auto-Magic daemon (nwamd) allows any local user to crash the daemon - an

CVE-2014-9491 MEDIUM
5.0 Jan 20

The devzvol_readdir function in illumos does not check the return value of a strchr call, which allows remote attackers

CVE-2026-104116 LOW
1.9 Oct 09

Local users holding an unprivileged account in any zone on an illumos-based host can send an unauthorized ZSD_CMD_NEW_ZO

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy