HIGH Introduced in 2.6.26
ecryptfs MsgCtx Leak
CVE-2026-89605
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI5.5MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: ecryptfs: release message context on send failure ecryptfs_send_message_locked() moves a message context from the free list to the allocated list before sending the request to the userspace daemon. If ecryptfs_send_miscdev() fails, the context is left on the allocated list and cannot be reused. Move it back to the free list on failure and clear the caller's pointer.
02KernelScan AI Analysis
Risk summary
A local user with access to a mounted ecryptfs filesystem can trigger a permanent resource leak when the userspace key daemon is unavailable or fails. Repeated operations exhaust the fixed pool of message contexts, rendering ecryptfs unusable for all users on the system. The impact is denial of service with no data disclosure or corruption.
Vulnerability analysis
When ecryptfs sends a request to its userspace daemon, it moves a message context from the free pool to the allocated list before attempting the send. If the send fails, the context is stranded on the allocated list and never returned to the free pool, permanently reducing the available context count. Repeated failures exhaust all contexts, blocking all subsequent ecryptfs key operations and effectively denying service to every user of the filesystem. The fix moves the context back to the free list and clears the caller's reference when a send error occurs, restoring the pool to its prior state. The vulnerable path is reachable by any local user who can perform file operations on a mounted ecryptfs filesystem, provided the userspace daemon is absent or failing; mounting the filesystem itself requires administrator privileges, but the triggering operations do not.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.10 | 2.6.26 | 5.10.270 | 177e0c32fec3 |
| 5.15 | 2.6.26 | 5.15.221 | 743e7aeb9575 |
| 6.1 | 2.6.26 | 6.1.188 | 590fc6140e29 |
| 6.6 | 2.6.26 | 6.6.157 | 30845ed22747 |
| 6.12 | 2.6.26 | 6.12.109 | 47ce611cb13f |
| 7.2 | 2.6.26 | 7.2.4 | 654b7e79443f |
| mainline | 2.6.26 | 7.3-rc1 | 219644a3ad55 |
| 6.18 | 2.6.26 | 6.18.50 | 9319706316a8 |
| cip/6.12 | 2.6.26 | 6.12.111-cip32 | 47ce611cb13f |