TOCTOU double copyin in illumos dld ioctl handling causes kernel heap corruption
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| illumos | illumos-gate | affected |
|
|||||||||||||||
| OmniOS | OmniOS | affected |
|
|||||||||||||||
| Triton Data Center | SmartOS | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Illumos | Illumos-gate |
|
||||||||||||||||||||
| Omnios | Omnios |
|
||||||||||||||||||||
| Tritondatacenter | Smartos |
|
Vendor Solution
Update your illumos distribution to one that includes the fix for issue 18020.
Vendor Workaround
No mitigation is available. The referenced notification includes a DTrace script that detects exploitation attempts.
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.116% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Illumos
Illumos illumos-gate Omnios Omnios omnios Tritondatacenter Tritondatacenter smartos |
|
| Vendors & Products |
Illumos
Illumos illumos-gate Omnios Omnios omnios Tritondatacenter Tritondatacenter smartos |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | A time-of-check to time-of-use (TOCTOU) flaw in the illumos data-link pseudo-driver (dld) affects handling of the DLDIOC_GETMACPROP and DLDIOC_SETMACPROP ioctls on /dev/dld. drv_ioc_prop_common() in usr/src/uts/common/io/dld/dld_drv.c copies the dld_ioc_macprop_t ioctl header in once to read its pr_valsize field, sizes and allocates a kernel heap buffer from that value, and then copies the full request in a second time from the same unprivileged user address. A concurrent thread can enlarge pr_valsize between the two copyins, so the second copyin and the subsequent property handling write beyond the end of the undersized allocation and corrupt the kernel heap. An unprivileged local user, including one confined to a non-global zone that owns a datalink, can trigger this to panic the system. The resulting kernel heap corruption may be usable for further compromise. | |
| Title | TOCTOU double copyin in illumos dld ioctl handling causes kernel heap corruption | |
| Weaknesses | CWE-122 CWE-367 |
|
| References |
| |
| Metrics |
cvssV4_0
|