NLnet Labs Unbound version 1.18.0 up to and including version 1.19.1 contain a vulnerability that can cause denial of service by a certain code path that can lead to an infinite loop. Unbound 1.18.0 introduced a feature that removes EDE records from responses with size higher than the clients advertised buffer size. Before removing all the EDE records however, it would try to see if trimming the extra text fields on those records would result in an acceptable size while still retaining the EDE codes. Due to an unchecked condition, the code that trims the text of the EDE records could loop indefinitely. This happens when Unbound would reply with attached EDE information on a positive reply and the clients buffer size is smaller than the needed space to include EDE records. The vulnerability can only be triggered when the ede: yes option is used; non default configuration. From version 1.19.2 on, the code is fixed to avoid looping indefinitely.
The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Unbound | Nlnetlabs | 1.18.0 (including) | 1.19.2 (excluding) |
Unbound | Ubuntu | noble | * |
Unbound | Ubuntu | upstream | * |