CVE-2026-104112: Missing release of passed file descriptors in illumos nscd allows local users to exhaust kernel memory
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/nscdfrontend.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/nameservicedoor 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 doorcall() 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
illumos nscdto a version that resolves this vulnerability.Patch af810a72
Event History
Frequently Asked Questions
Who can exploit this issue?
Any unprivileged local user that can make door calls to the nscd door in their zone can exploit it. This includes users in non-global zones; no elevated privileges are required.
What does exploitation require?
The attacker needs local code execution and must repeatedly invoke door_call() against /var/run/name_service_door while passing a file descriptor that the request does not use. The exposed nscd instance accepts passed descriptors from any user in its zone.
What is the operational impact?
Repeated calls cause nscd's file descriptor table to grow without bound in kernel memory because nscd has an unlimited file descriptor limit. This can deny service through nscd and make processes in all zones on the host unresponsive.
Which systems are affected?
The issue affects illumos distributions based on illumos-gate before commit af810a72. The flaw has existed since the 2006 illumos-gate commit cb5caa98.