CVE-2018-5739
Failure to release memory may exhaust system resources
- Published
- Updated
- Reserved
- Assigned by
- isc
Description
An extension to hooks capabilities which debuted in Kea 1.4.0 introduced a memory leak for operators who are using certain hooks library facilities. In order to support multiple requests simultaneously, Kea 1.4 added a callout handle store but unfortunately the initial implementation of this store does not properly free memory in every case. Hooks which make use of query4 or query6 parameters in their callouts can leak memory, resulting in the eventual exhaustion of available memory and subsequent failure of the server process. Affects Kea DHCP 1.4.0.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| iscCNA (assigner) | 3.0 | Medium6.5 | CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVDNVD · Modified | 3.0 | High7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
- EPSS (exploitation in 30 days)
- 1.9% · top 20% of all CVEs (4 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: Medium 6.5.
Weakness
- Only servers using hooks which make use of the callout handle store are affected. A Kea server which is using one or more hooks libraries that exhibit this problem will increase its memory use over time, with the rate of increase being proportional to the amount of DHCP traffic processed. Eventually, due to uncontrolled growth, the server will either exhaust all system memory or, if the administrator has set a per-process memory limit, will hit that limit, after which point further memory allocations will fail and the Kea server will crash. An attacker who is within the broadcast domain of the Kea server or in a network which is permitted to relay DHCP traffic to the Kea server can hasten the arrival of this outcome by deliberately sending a large volume of requests to the Kea server. Ability to deliberately trigger this vulnerability depends on the hooks libraries used and the hook points used for callouts. Our scoring for this vulnerability is based on the hook points used for hook libraries distributed by ISC and also based on the assumption that the Kea server does not accept arbitrary traffic from the internet (but is protected, e.g. by firewall, and only accepts DHCP traffic from the local broadcast domain and from nearby networks via authorized DHCP relay agents.) We cannot score every combination, but the risk could be higher to custom-developed hook libraries using other hook points or to servers which accept arbitrary DHCP traffic without restriction.
- CWE-772 (opens in a new tab)All about CWE-772 and its CVEs
Affected products
What to do
Solution: Upgrade to Kea 1.4.0-P1 or higher, available via https://www.isc.org/downloads.
Workaround: + Monitoring and routinely restarting ISC Kea DHCPv4 and DHCPv6 services may be an effective mitigation for some production environments + Running a new build of Kea without any hook libraries that use the callout store is another option, though it may not be a viable option where the production environment is dependent on the other hooks that need to be omitted to avoid these symptoms. These hooks distributed by ISC do not use the callout store and are safe to use: Lease Commands, Stat Commands, Host Commands (a Kea Premium hook) and Subnet Commands (a subscriber-only hook provided to Kea support customers). + Reverting to Kea DHCP 1.3.0 may be possible for some production environments but because of differences in the database schema operators should check carefully before attempting rollback: - If using memfile storage entirely, there should not be any compatibility issues. - If using a database solution for hosts or leases, the 1.4.0 schema will be incompatible with ISC Kea 1.3.0; the database therefore must be restored from a pre-upgrade backup for this to be successful. - If you are unsure whether or not you can roll back to 1.3.0 without restoring a previous version of your database, you may send an e-mail to [email protected] describing your storage setup and we will advise.
References (1)
- https://kb.isc.org/docs/aa-01626 (opens in a new tab)x_refsource_CONFIRMx_transferred
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2018-5739)Record last updated .