A packet containing a malformed DUID can cause the Kea DHCPv6 server process (kea-dhcp6) to exit due to an assertion failure. Versions affected: 1.4.0 to 1.5.0, 1.6.0-beta1, and 1.6.0-beta2.
The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Kea | Isc | 1.4.0 (including) | 1.5.0 (including) |
| Kea | Isc | 1.6.0-beta1 (including) | 1.6.0-beta1 (including) |
| Kea | Isc | 1.6.0-beta2 (including) | 1.6.0-beta2 (including) |
| Isc-kea | Ubuntu | bionic | * |
| Isc-kea | Ubuntu | disco | * |
| Isc-kea | Ubuntu | eoan | * |
| Isc-kea | Ubuntu | esm-apps/bionic | * |
| Isc-kea | Ubuntu | esm-apps/xenial | * |
| Isc-kea | Ubuntu | groovy | * |
| Isc-kea | Ubuntu | hirsute | * |
| Isc-kea | Ubuntu | impish | * |
| Isc-kea | Ubuntu | trusty | * |
| Isc-kea | Ubuntu | upstream | * |
| Isc-kea | Ubuntu | xenial | * |
While assertion is good for catching logic errors and reducing the chances of reaching more serious vulnerability conditions, it can still lead to a denial of service. For example, if a server handles multiple simultaneous connections, and an assert() occurs in one single connection that causes all other connections to be dropped, this is a reachable assertion that leads to a denial of service.